Partager via


CMDIChildWnd::Create

Appelez la fonction membre pour créer une fenêtre enfant MDI windows et pour la liaison à l'objet d' CMDIChildWnd .

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

Paramètres

  • lpszClassName
    Pointe vers une chaîne se terminant par null qui nomme la classe de fenêtre (une structure de WNDCLASS ).Le nom de classe peut être n'importe quel nom enregistré avec la fonction globale d' AfxRegisterWndClass .Doit être NULL pour CMDIChildWndstandard.

  • lpszWindowName
    Pointe vers une chaîne se terminant par null qui représente le nom de la fenêtre.Utilisé en tant que texte de la barre de titre.

  • dwStyle
    Spécifie les attributs de style de fenêtre.Le style de WS_CHILD est requis.

  • rect
    Contient la taille et la position de la fenêtre.La valeur d' rectDefault permet aux fenêtres pour spécifier la taille et la position de nouvel CMDIChildWnd.

  • pParentWnd
    Spécifie le parent de la fenêtre.Si NULL, la fenêtre d'application principale est utilisé.

  • pContext
    Spécifie une structure de CCreateContext .Ce paramètre peut être NULL.

Valeur de retour

Une valeur différente de zéro si l'opération a réussi ; sinon 0.

Notes

Actuel - la fenêtre frame enfant MDI active peut déterminer la légende de la fenêtre frame parente.Cette fonctionnalité est désactivée en désactivant le bit de style de FWS_ADDTOTITLE de la fenêtre frame enfant.

l'infrastructure appelle cette fonction membre en réponse à un ordre d'utilisateur de créer une fenêtre enfant, et les utilisations d'infrastructure le paramètre d' pContext de connecter correctement la fenêtre enfant à l'application.Lorsque vous appelez Créer, pContext peut être NULL.

Exemple

Exemple 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
}

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

Configuration requise

Header: afxwin.h

Voir aussi

Référence

Classe de CMDIChildWnd

Graphique de la hiérarchie

CMDIChildWnd::CMDIChildWnd

CWnd::PreCreateWindow