CreateEx
CreateEx:用于创建窗口的函数。窗口类型可以是重叠,弹出窗口,或子窗口,窗口样式由参数dwExStyle指定。
目录
函数原型函数参数函数返回值例子例1:例2:其他
函数原型函数原型为:virtual BOOLCreateEx(
DWORD dwExStyle,
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU nIDorHMenu,
LPVOID lpParam = NULL
);
virtual BOOLCreateEx(
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);
}例2: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函数来实现创建窗体的。