函式原型
函式原型為:virtual BOOL CreateEx(
DWORD dwExStyle,
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU NIDorHMenu,
LPVOID lpParam = NULL
);
virtual BOOL CreateEx(
DWORD dwExStyle,
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
LPVOID lpParam = NULL
);
函式參數
dwExStyle
指定要建立的視窗的擴展樣式,引擴展樣式包括所有的MFC樣式。
lpszClassName
創建視窗的類名稱,類的名稱可以用全局AfxRegisterWndClass函式或預定義的註冊任何類名稱。
lpszWindowName
創建的視窗名稱,為自定義字元串,如:"我的視窗"(含引號)
dwStyle
指定的視窗樣式屬性。見視窗樣式和所調用CWnd::描述值創建樣式的所有值,用"|"將不同值連起來,如:OPUP | WS_SYSMENU|WS_EX_TOOLWINDOW
x,y,nWidth,nHeight或RECT& rect
所要創建視窗的坐標、高度及寬度或都用矩形表示
hWndParent
標識的父視窗或所屬視窗。無父視窗時使用空值:"NULL"
nIDorHMenu
標識所創建視窗的選單,可使用選單ID:"IDR_MENU"或使用空值:"NULL"
lpParam
以由CREATESTRUCT結構lpCreateParams領域中引用的數據
nID
本視窗作為子視窗使用時的ID號。
函式返回值
如創建成功則返回非0值,否則返回0
例子
如下:
例1:void CMyDlg::OnCreateExtendedCtrl()
{
CWnd* pWnd = new CStatic;
pWnd->CreateEx(WS_EX_CLIENTEDGE,
_T("STATIC"), "Hi",
WS_CHILD | WS_TABSTOP | WS_VISIBLE,
5, 5, 30, 30, m_hWnd, (HMENU)1234);
}
CreateEx( 0x08000000,
AfxRegisterWndClass(0),
"我的視窗"
WS_POPUP | WS_SYSMENU|WS_EX_TOOLWINDOW,
CRect(0,0,400,128)
NULL,
NULL,
NULL );
其他
CreateEx與Create的區別在於CreateEx能創建WS_POPUP樣式的視窗和有擴展樣式。Create是通過調用CreateEx函式來實現創建窗體的。