CMDIChildWnd::Create
Rufen Sie die Memberfunktion auf, um ein Windows-untergeordnetesMDI-Fenster zu erstellen und auf den CMDIChildWnd-Objekt anzufügen.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_OVERLAPPEDWINDOW,
const RECT& rect = rectDefault,
CMDIFrameWnd* pParentWnd = NULL,
CCreateContext* pContext = NULL
);
Parameter
lpszClassName
Zeigt auf eine auf NULL endende Zeichenfolge, die die Windows-Klasse benennt (eine WNDCLASS-Struktur).Der Klassenname kann ein beliebiger Name sein, der mit der globalen Funktion AfxRegisterWndClass registriert wird.Sollte NULL für Standard-CMDIChildWnd sein.lpszWindowName
Zeigt auf eine auf NULL endende Zeichenfolge, die den Fensternamen darstellt.Wird als Text für die Titelleiste.dwStyle
Gibt die Fenster-Format-Attribute an.Das WS_CHILD Format ist erforderlich.rect
Enthält die Größe und die Position des Fensters.Der Wert rectDefault ermöglicht Windows, um die Größe und Position neuen CMDIChildWnd anzugeben.pParentWnd
Gibt das übergeordnete Element des Fensters angezeigt.Wenn NULL, das Hauptanwendungsfenster verwendet wird.pContext
Gibt eine CCreateContext-Struktur an.Dieser Parameter kann NULL sein.
Rückgabewert
Ungleich 0 (null), wenn erfolgreich; 0 andernfalls.
Hinweise
Derzeit - aktiven untergeordneten MDI-Rahmenfenster kann die Beschriftung des übergeordneten Rahmenfensters bestimmen.Diese Funktion wird deaktiviert, indem das FWS_ADDTOTITLE Stilbit des untergeordneten Rahmenfensters veranschaulicht.
Das Framework ruft diese Memberfunktion als Reaktion auf ein Benutzerbefehl, untergeordnetes Fenster zu erstellen, und die verwenden pContext der Parameter, das untergeordnete Fenster an die Anwendung ordnungsgemäß herzustellen.Wenn Sie Create aufrufen, kann pContextNULL sein.
Beispiel
Beispiel 1:
// CMainFrame::OnFileNewCMdiChildWnd() is a menu command handler for the
// CMainFrame class, which in turn is a CMDIFrameWnd-derived class.
// It shows the creation of a standard Windows MDI child window using
// the registered CMDIChildWnd class.
void CMainFrame::OnFileNewMdiChildWnd()
{
CMDIChildWnd* pMDIChildWnd = new CMDIChildWnd;
VERIFY(pMDIChildWnd->Create(
NULL, // standard CMDIChildWnd class
_T("My MDIChildWnd"), // caption of MDI child window
WS_CHILD | WS_VISIBLE | WS_OVERLAPPEDWINDOW, // window styles
rectDefault, // default rectangle size
this)); // parent window; can be NULL
// the default PostNcDestroy handler will delete this object when destroyed
}
Beispiel 2:
// CMainFrame::OnHello() is a menu command handler for the CMainFrame
// class, which in turn is a CMDIFrameWnd-derived class.
// It shows the creation of a Windows MDI child window using a custom
// window class. The custom window class is registered in
// CHelloWnd::Create(). CHelloWnd is a CMDIChildWnd-derived class.
void CMainFrame::OnHello()
{
CHelloWnd *pHelloWnd = new CHelloWnd;
if (!pHelloWnd->Create(_T("Hello"),
WS_CHILD | WS_VISIBLE | WS_OVERLAPPEDWINDOW,
rectDefault, this))
return;
// the default PostNcDestroy handler will delete this object when destroyed
}
BOOL CHelloWnd::Create(
LPCTSTR szTitle,
LONG style /* = 0 */,
const RECT& rect /* = rectDefault */,
CMDIFrameWnd* parent /* = NULL */)
{
// Setup the shared menu
SetHandles(::LoadMenu(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_HELLO)),
NULL);
// Register a custom WndClass and create a window.
// This must be done because CHelloWnd has a custom icon.
LPCTSTR lpszHelloClass =
AfxRegisterWndClass(CS_HREDRAW | CS_VREDRAW,
LoadCursor(NULL, IDC_ARROW),
(HBRUSH) (COLOR_WINDOW+1),
LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_HELLO)));
return CMDIChildWnd::Create(lpszHelloClass, szTitle, style, rect, parent);
}
Anforderungen
Header: afxwin.h