函数声明如下:
WINUSERAPI
HWND
WINAPI
CreateWindowExA(
__in DWORD dwExStyle,
__in_opt LPCSTR lpClassName,
__in_opt LPCSTR lpWindowName,
__in DWORD dwStyle,
__in int X,
__in int Y,
__in int nWidth,
__in int nHeight,
__in_opt HWND hWndParent,
__in_opt HMENU hMenu,
__in_opt HINSTANCE hInstance,
__in_opt LPVOID lpParam);
WINUSERAPI
HWND
WINAPI
CreateWindowExW(
__in DWORD dwExStyle,
__in_opt LPCWSTR lpClassName,
__in_opt LPCWSTR lpWindowName,
__in DWORD dwStyle,
__in int X,
__in int Y,
__in int nWidth,
__in int nHeight,
__in_opt HWND hWndParent,
__in_opt HMENU hMenu,
__in_opt HINSTANCE hInstance,
__in_opt LPVOID lpParam);
#ifdef UNICODE
#define CreateWindowEx CreateWindowExW
#else
#define CreateWindowEx CreateWindowExA
#endif // !UNICODE
#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,/
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)/
CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,/
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
#define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,/
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)/
CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,/
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
#ifdef UNICODE
#define CreateWindow CreateWindowW
#else
#define CreateWindow CreateWindowA
#endif // !UNICODE
dwExStyle
是扩展的窗口类型。
lpClassName
是注册的窗口类型名称。
lpWindowName
是窗口名称。
dwStyle
是窗口类型。
X
是窗口左上角位置。
Y
是窗口左上角位置。
nWidth
是窗口的宽度。
nHeight
是窗口的高度。
hWndParent
是父窗口。
hMenu
是主菜单。
hInstance
是应用程序实例句柄。
lpParam
是传送给窗口的自定义参数。
调用这个函数的实例如下:
#001 //
#002 //
函数
: InitInstance(HINSTANCE, int)
#003 //
#004 //
目的
:
保存程序实例句柄,并创建窗口显示。
#005 //
#006 //
蔡军生
2007/07/12
#007 //
#008 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
#009 {
#010 HWND hWnd;
#011
#012 hInst = hInstance; //
保存实例句柄到全局变量里。
#013
#014 hWnd = CreateWindow(szWindowClass,
#015 szTitle,
#016 WS_OVERLAPPEDWINDOW,
#017 CW_USEDEFAULT,
#018 0,
#019 CW_USEDEFAULT,
#020 0,
#021 NULL,
#022 NULL,
#023 hInstance,
#024 NULL);
#025
#026 if (!hWnd)
#027 {
#028 return FALSE;
#029 }
#030
#031 ShowWindow(hWnd, nCmdShow);
#032 UpdateWindow(hWnd);
#033
#034 return TRUE;
#035 }
第
14
行里就是调用创建窗口函数。
szWindowClass
是窗口注册名称,前面已经介绍过注册的。
第
15
行的
szTitle
是窗口显示的标题。
第
16
行是窗口显示类型。
第
17
行是缺省的左上角坐标。
第
18
行是窗口左上角坐标,由于
X
坐标设置为缺省的坐标了,所以会忽略这里的所有设置的值。
第
19
行是设置窗口的宽度。使用缺省值。
第
20
行同样忽略窗口的高度。
第
21
行是没有父窗口。
第
22
行是没有主菜单。
第
23
行是窗口当前实例句柄。
第
24
行是传递给窗口的自定义参数为空。
如果窗口创建成功就会返回这个窗口的句柄,否则返回空值。
通过这样设置,就可以创建各种各样的窗口,只要你自己喜欢的,就可以改变它。