Sdílet prostřednictvím


CMDIChildWnd::Create

Volání funkce tohoto člena podřízeného okna rozhraní MDI Windows vytvořit a připojit ji k CMDIChildWnd objektu.

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

Parametry

  • lpszClassName
    Odkazuje na řetězec znaků zakončený znakem null, s názvem třídy Windows ( WNDCLASS struktury).Název třídy může být libovolný název zaregistrován AfxRegisterWndClass globální funkce.Musí být NULL pro standardní CMDIChildWnd .

  • lpszWindowName
    Odkazuje na řetězec znaků zakončený znakem null, který představuje název okna.Použije jako text záhlaví.

  • dwStyle
    Určuje okno stylu atributy.WS_CHILD styl je vyžadováno.

  • rect
    Obsahuje velikost a umístění okna. rectDefault Hodnota umožňuje systému Windows určit velikost a umístění nového CMDIChildWnd .

  • pParentWnd
    Určuje nadřazeného okna.Pokud NULL, hlavní okno aplikace používá.

  • pContext
    Určuje, CCreateContext struktury.Tento parametr může být NULL.

Vrácená hodnota

Nenulová hodnota, pokud je úspěšná. jinak 0.

Poznámky

Aktuálně aktivní okno MDI podřízené rámečku můžete určit titulek okna nadřazený rámec.Tato funkce je zakázána vypnutím FWS_ADDTOTITLE bit styl rámečku podřízené okno.

Rámci volá členské funkce odpověď uživatele příkaz Vytvořit podřízené okno a používá rozhraní pContext parametr správně připojit podřízené okno aplikace.Při volání vytvořit, pContext mohou být NULL.

Příklad

Příklad 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
}

Příklad 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);
}

Požadavky

Záhlaví: afxwin.h

Viz také

Referenční dokumentace

Třída CMDIChildWnd

Graf hierarchie

CMDIChildWnd::CMDIChildWnd

CWnd::PreCreateWindow