CMDIChildWnd::criar
Chamar essa função de membro para criar uma janela filho de MDI do Windows e anexá-lo à CMDIChildWnd objeto.
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
);
Parâmetros
lpszClassName
Aponta para uma seqüência de caractere terminada com nulo que a classe do Windows (um WNDCLASS estrutura).O nome de classe pode ser qualquer nome registrado com o AfxRegisterWndClass função global.Deve ser NULO para um padrão CMDIChildWnd.lpszWindowName
Aponta para uma seqüência de caractere terminada com nulo que representa o nome da janela.Usado sistema autônomo texto para a BAR de título.dwStyle
Especifica a janela estilo atributos.The WS_CHILD estilo é necessário.rect
Contém o dimensionar e posição da janela.The rectDefault valor permite que o Windows especificar o dimensionar e posição da nova CMDIChildWnd.pParentWnd
Especifica o pai da janela.If NULO, na janela principal do aplicativo é usado.pContext
Especifica um CCreateContext estrutura.Esse parâmetro pode ser NULO.
Valor de retorno
Diferente de zero se bem-sucedida; caso contrário, 0.
Comentários
A janela de quadro filho MDI ativo atualmente pode determinar a legenda da janela do quadro pai.Este recurso está desabilitado, desativando o FWS_ADDTOTITLE bit de estilo da janela do quadro filho.
A estrutura chama essa função de membro em resposta a um comando ao usuário para criar uma janela filho, e a estrutura usa o pContext parâmetro de corretamente conectar-se a janela filho ao aplicativo. Quando você chama Criar, pContext pode ser NULO.
Exemplo
Exemplo 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
}
Exemplo 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);
}
Requisitos
Cabeçalho: afxwin.h