CWnd::CreateEx 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于创建扩展风格窗口。以下是 CWnd::CreateEx 方法的基本说明:
BOOL CreateEx(
   DWORD dwExStyle,
   LPCTSTR lpszClassName,
   LPCTSTR lpszWindowName,
   DWORD dwStyle,
   int x, int y, int nWidth, int nHeight,
   HWND hWndParent,
   HMENU nIDorHMenu = 0,
   LPVOID lpParam = NULL
);

参数说明:
  •  dwExStyle: 扩展窗口样式,类似于 dwStyle,但包含一些额外的扩展选项。

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

  •  lpszWindowName: 窗口的标题。

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

  •  x, y: 窗口的初始位置(左上角的 x、y 坐标)。

  •  nWidth, nHeight: 窗口的宽度和高度。

  •  hWndParent: 父窗口的句柄。

  •  nIDorHMenu: 窗口的 ID 或者 菜单的句柄。

  •  lpParam: 可选参数,传递给窗口的额外初始化数据。


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


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

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




转载请注明出处:http://www.pingtaimeng.com/article/detail/23270/MFC/CWnd