CWnd::PreCreateWindow
Wywoływana przez ram przed utworzeniem dołączonych do tego okna systemu Windows CWnd obiektu.
virtual BOOL PreCreateWindow(
CREATESTRUCT& cs
);
Parametry
- CS
A CREATESTRUCT struktury.
Wartość zwracana
Niezerowa, jeśli należy kontynuować tworzenie okien; 0 wskazuje błąd tworzenia.
Uwagi
Przestroga |
---|
CWnd::PreCreateWindowteraz przypisuje członka hMenu cs do this wskaźnik, jeśli menu jest NULL i zawiera styl WS_CHILD.Dla właściwego funkcjonalność upewnić się, że formant okno dialogowe ma identyfikator, który nie jest NULL. Ta zmiana rozwiązuje awarii w scenariuszach międzyoperacyjnego zarządzane macierzystego.A TRACE instrukcji w CWnd::Create alertów autora problem. |
Nigdy nie bezpośrednio wywołać tę funkcję.
Domyślna implementacja ta funkcja sprawdza, czy NULL Nazwa klasy okna i substytuty odpowiedni domyślny.Zastąpienie tej funkcji Członkowskich zmodyfikować CREATESTRUCT struktury przed utworzeniem okna.
Każda Klasa pochodna od CWnd dodaje funkcje własne do jej zastępowania PreCreateWindow.Wzór tych pochodne z PreCreateWindow nie są udokumentowane.Aby określić style każdej klasy i współzależności między style, można sprawdzić MFC kod źródłowy aplikacji klasy podstawowej.Jeśli wybierzesz zastąpienie PreCreateWindow, można określić, czy style używane w aplikacji klasa bazowa zapewnia funkcje potrzebne przy użyciu informacji zebranych z kodu źródłowego MFC.
Aby uzyskać więcej informacji na temat zmieniania stylów w oknie zobacz Zmiana style okna utworzone przez MFC.
Przykład
// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// Create a window without min/max buttons or sizable border
cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;
// Size the window to 1/3 screen size and center it
cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
cs.y = ((cs.cy * 3) - cs.cy) / 2;
cs.x = ((cs.cx * 3) - cs.cx) / 2;
return CMDIChildWnd::PreCreateWindow(cs);
}
Wymagania
Nagłówek: afxwin.h