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

Siehe auch

Referenz

CMDIChildWnd-Klasse

Hierarchien-Diagramm

CMDIChildWnd::CMDIChildWnd

CWnd::PreCreateWindow