CWnd::Create
创建指定的子窗口并将它附加到 CWnd 对象。
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL
);
参数
[in] lpszClassName
对包含注册的系统窗口选件类的名称为Null结尾的字符串的指针;或预定义的系统窗口选件类的名称。[in] lpszWindowName
对包含窗口显示名称为的Null结尾的字符串的指针;否则没有windows显示名称的 NULL。[in] dwStyle
按位组合(或)的 窗口样式。WS_POPUP 选项不是有效的样式。[in] rect
窗口的大小和位置相对于父窗口的左上角。[in] pParentWnd
指向父窗口。[in] nID
窗口的ID。[in] pContext
用于自定义应用程序的文档视图结构的 CCreateContext 结构的指针。
返回值
TRUE,如果方法成功;否则 FALSE。
备注
警告 |
---|
CWnd::PreCreateWindow 现在将其 CREATESTRUCT 参数的hMenu成员添加到 this 指针,如果菜单是 NULL,并且该样式包含 WS_CHILD。对于相应的功能,请确保不是 NULL的对话框控件具有ID。 此更改修复跨托管/本机互操作方案的一失败。在 CWnd::Create 警报的一个 TRACE 语句问题的开发人员。 |
使用 AfxRegisterWndClass 功能对"寄存器"窗口选件类。用户定义的windows选件类可用在注册的模块。
CWnd::OnCreate 方法调用,在 Create 方法返回之前,因此,在窗口之前将变得可见。
示例
// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic()
{
// m_pWndStatic is a CWnd* member of CMyDlg
m_pWndStatic = new CWnd;
m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20), this, 1234);
}
要求
标头: afxwin.h