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