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)
「视窗标题」是显示在标题列中的文字。
注释著「initial x
position」和「initial y
position」的参数指定了视窗左上角相对於萤幕左上角的初始位置。由於这些参数使用CW_USEDEFAULT识别字,指示Windows使用重叠视窗的内定位置。(CW_USEDEFAULT定义为0x80000000。)内定情况下,Windows依次对新建立的视窗定 |