w class name
TEXT ( "The Hello Program"), // window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
NULL, // window menu handle
hInstance, // program instance handle
NULL) ; // creation parameters
视窗和讯息(十七)
在这里,我不想提实际上有CreateWindowA函式和CreateWindowW函式,两个函式分别将前两个参数当成ASCII或者Unicode字串来处理。
标记为「window class name」的参数是szAppName,它含有字串「HelloWin」-这是程式注册的视窗类别名称。这就是我们建立的视窗联结视窗类别的方式。
此程式建立的视窗是一个普通的重叠式视窗。它含有一个标题列,标题列左边有一个系统功能表按钮,标题列右边有缩小、放大和关闭图示,四周还有一个表示视窗大小的边框。这是标准样式的视窗,名为WS_OVERLAPPEDWINDOW,出现在CreateWindow的「视窗样式」参数中。如果看一下WINUSER.H,您将会发现此样式是几种位元旗标的组合:
#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | \
WS_CAPTION | \
WS_SYSMENU | \
WS_THICKFRAME | \
WS_MINIMIZEBOX | \
WS_MAXIMIZEBOX)
WS_CAPTION | \
WS_SYSMENU | \
WS_THICKFRAME | \
WS_MINIMIZEBOX | \
WS_MAXIMIZEBOX)
「视窗标题」是显示在标题列中的文字。
注释著「initial x position」和「initial y position」的参数指定了视窗左上角相对於萤幕左上角的初始位置。由於这些参数使用CW_USEDEFAULT识别字,指示Windows使用重叠视窗的内定位置。(CW_USEDEFAULT定义为0x80000000。)内定情况下,Windows依次对新建立的视窗定