CWnd::Create 是 MFC(Microsoft Foundation Classes)中的一个重要公共方法,用于创建窗口。它的作用是创建并显示一个窗口控件。以下是 CWnd::Create 方法的基本说明:
BOOL Create(
   LPCTSTR lpszClassName,
   LPCTSTR lpszWindowName,
   DWORD dwStyle,
   const RECT& rect,
   CWnd* pParentWnd,
   UINT nID,
   CCreateContext* pContext = NULL
);

参数说明:
  •  lpszClassName: 窗口类名,可以是已注册的系统类名或你自定义的类名。

  •  lpszWindowName: 窗口的标题。

  •  dwStyle: 窗口的样式,如 WS_OVERLAPPED、WS_CHILD、WS_VISIBLE 等。

  •  rect: 窗口的初始位置和大小。

  •  pParentWnd: 指向父窗口的指针,如果是顶层窗口,可以设置为 nullptr。

  •  nID: 窗口的ID。

  •  pContext: 创建上下文,通常可以设置为 nullptr。


返回值:
  •  如果创建成功,返回非零值;如果失败,返回零。


示例代码可能如下所示:
CWnd wnd;
if (wnd.Create(_T("MyWndClass"), _T("My Window"), WS_OVERLAPPEDWINDOW, CRect(100, 100, 400, 300), nullptr, IDC_MY_WINDOW)) {
    // 窗口创建成功
    wnd.ShowWindow(SW_SHOW);
    wnd.UpdateWindow();
} else {
    // 窗口创建失败
}

这个方法通常在窗口对象被创建的时候调用。需要注意的是,使用这个方法创建的窗口,在不需要的时候需要通过 DestroyWindow 或者 PostNcDestroy 进行销毁。




转载请注明出处:http://www.zyzy.cn/article/detail/23268/MFC/CWnd