CWnd::CreateEx
创建指定的窗口并将它附加到 CWnd 对象。
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
按位组合(或)的 扩展窗口样式;否则该默认的 NULL 扩展的窗口样式。lpszClassName
对包含注册的系统窗口选件类的名称为Null结尾的字符串的指针;或预定义的系统窗口选件类的名称。lpszWindowName
对包含窗口显示名称为的Null结尾的字符串的指针;否则没有windows显示名称的 NULL。dwStyle
按位组合(或)的 窗口样式;否则默认窗口样式的 NULL。x
窗口的初始图边距从屏幕或父窗口的左侧。y
窗口的最初的垂直距离屏幕或父窗口的顶部。nWidth
宽度,以像素,窗口。nHeight
高度,均以像素,窗口。hwndParent
为子窗口,处理到父窗口;否则,所有者窗口的句柄,如果窗口都有一个所有者。nIDorHMenu
为子窗口,这些窗口ID;否则,一个菜单的ID窗口中。lpParam
对传递到在 lpCreateParams 字段的 CWnd::OnCreate 方法的用户数据的指针。rect
窗口的大小和位置相对于屏幕或父窗口的。pParentWnd
为子窗口,指向父窗口;否则,指向所有者窗口,如果窗口都有一个所有者。nID
为子窗口,这些窗口ID;否则,一个菜单的ID窗口中。
返回值
TRUE,如果方法成功;否则 FALSE。
备注
警告
CWnd::PreCreateWindow 现在将其 CREATESTRUCT 参数的hMenu成员添加到 this 指针,如果菜单是 NULL,并且该样式包含 WS_CHILD。对于相应的功能,请确保不是 NULL的对话框控件具有ID。
此更改修复跨托管/本机互操作方案的一失败。在 CWnd::Create 警报的一个 TRACE 语句问题的开发人员。
默认扩展的窗口样式是 WS_EX_LEFT。 默认窗口样式是 WS_OVERLAPPED。
使用 AfxRegisterWndClass 功能对"寄存器"窗口选件类。 用户定义的windows选件类可用在注册的模块。
子窗口的维度是相对于父窗口工作区的左上角。 顶级窗口的维度是相对于屏幕的左上角。
CWnd::OnCreate 方法调用,在 CreateEx 方法返回之前,因此,在窗口之前将变得可见。
示例
void CMyDlg::OnCreateExtendedControl()
{
// m_pWndStaticEx is a CWnd* member of CMyDlg
m_pWndStaticEx = new CStatic;
m_pWndStaticEx->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
_T("STATIC"), _T("Hi"),
WS_CHILD | WS_TABSTOP | WS_VISIBLE,
5, 5, 30, 30, m_hWnd, (HMENU)2345);
}
要求
标头: afxwin.h