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