HWND CreateWindowEx(
DWORD dwExStyle,
//
extended window style
LPCTSTR lpClassName,
//
pointer to registered class name
LPCTSTR lpWindowName,
//
pointer to window name
DWORD dwStyle,
//
window style
int
x,
//
horizontal position of window
int
y,
//
vertical position of window
int
nWidth,
//
window width
int
nHeight,
//
window height
HWND hWndParent,
//
handle to parent or owner window
HMENU hMenu,
//
handle to menu, or child-window identifier
HINSTANCE hInstance,
//
handle to application instance
LPVOID lpParam
//
pointer to window-creation data
);
※ DWORD dwExStyle:扩充的窗口风格。你将很少使用扩充的窗口风格,所以多数时间你会把它设置为NULL。如果有兴趣,查一下帮助文件,可以一试由WS_EX_打头的扩充风格。
※ LPCTSTR lpClassName:还记得你的窗口类的名称吗?再用一次。
※ LPCTSTR lpWindowName:将显示在窗口的标题栏里的简短文字。
※ DWORD dwStyle:窗口的风格。它将允许你详细的描绘你所要创建的窗口的风格。有很多风格你可以利用哦,都是以WS_打头的,你可以利用(|)符号组合利用它们。我将在这儿介绍几个常用的。
◎ WS_POPUP 指定一个弹出的窗口。
◎ WS_OVERLAPPED 指定一个具有标题栏和边界的重叠窗口。
◎ WS_OVERLAPPEDWINDOW 指定一个具有所有标准控件的窗口。
◎ WS_VISIBLE 指定一个初始时可见的窗口。
看得出,WS_OVERLAPPEDWINDOW是一个组合体。简单的说,你可以按照如下规律:如果你要创建一个可以最大化、最小化、随意改变大小等等地窗口,就选择WS_OVERLAPPEDWINDOW;如果你只想要一个具有标题栏、可改变大小的窗口,就选择WS_OVERLAPPED;如果你只想要一个光秃秃的窗口,就选择WS_POPUP;如果你只想显示一个黑色的大方框,可能你要用它写一个全屏的游戏,选择WS_VISIBLE是没错的。
※ int x,y:你所要创建的窗口的左上角的坐标。
※ int nWidth,nHeight:猜也猜到了,窗口的长和高,单位是『象素』。
※ HWND hWndParent:指向父窗口的句柄。你若想在窗口下再建立一个窗口,那么第一个窗口就叫父窗口。咱先建立一个主窗口,所以设置为NULL,也就意味着Windows桌面是父窗口。
※ HMENU hMenu:这是用在窗口上的菜单句柄。若你学会建立和使用资源,即建立自己的菜单,你可以用LoadMenu()函数调用自己的菜单资源。目前,咱先设为NULL。
※ HINSTANCE hInstance:是一个名柄,它指向由Windows传递给WinMain()的实例。
※ LPVOID lpParam:对于游戏编程来说,没有什么用的东西,只有简单的窗口程序用到它。设置为NULL好了。