Aracılığıyla paylaş


CMDIChildWnd::Create

Windows MDI alt penceresi oluşturmak ve ona eklemek için bu üye işlev çağrısı CMDIChildWnd nesnesi.

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 
);

Parametreler

  • lpszClassName
    Windows sınıf adlarını bir boşlukla sonlandırılmış karakter dizesi işaret eder (bir wndclass yapısı). Sınıf adı ile kayıtlı herhangi bir ad olabilir AfxRegisterWndClass genel işlev. Olması gereken null için bir standart CMDIChildWnd.

  • lpszWindowName
    Pencere adı temsil eden bir boşlukla sonlandırılmış karakter dizesine işaret ediyor. Başlık çubuğu için metni olarak kullanılır.

  • dwStyle
    Pencere belirtir Stil öznitelikleri. WS_CHILD stili gereklidir.

  • rect
    Pencerenin konumunu ve boyutunu içerir. rectDefault Değerini verir boyutu ve yeni konumunu belirtmek Windows CMDIChildWnd.

  • pParentWnd
    Pencerenin üst belirtir. null, ana uygulama penceresi kullanılır.

  • pContext
    Belirtir bir CCreateContext yapısı. Bu parametre olabilir null.

Dönüş Değeri

Başarılı olursa sıfırdan farklı; Aksi halde 0.

Notlar

Etkin olan MDI alt çerçeve penceresinin üst çerçeve penceresi başlığını belirleyebilirsiniz. Bu özellik devre dışı kapatma tarafından FWS_ADDTOTITLE alt kare pencere stili biti.

Çerçeve alt pencere oluşturmak için kullanıcı komutuna yanıt olarak bu üye işlevini çağırır ve çerçevesi kullanır pContext düzgün bir alt pencereyi uygulamaya bağlanmak için parametre. Aradığınızda Create, pContext olabilir null.

Örnek

Örnek 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
}

Örnek 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);
}

Gereksinimler

Başlık: afxwin.h

Ayrıca bkz.

Başvuru

CMDIChildWnd sınıfı

Hiyerarşi grafik

CMDIChildWnd::CMDIChildWnd

CWnd::PreCreateWindow