|
ICATION图示是一个简单的视窗小图形。LoadIcon函式传回该图示的代号。我们并不关心这个代号的实际值,它只用於设置hIcon栏位元的值。该栏位在WNDCLASS结构中定义为HICON型态,此型态名的含义为「handle
to an icon(图示代号)」。
叙述
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
与前一条叙述非常相似。LoadCursor函式载入一个预先定义的滑鼠游标(命名为IDC_ARROW),并传回该游标的代号。该代号被设定给WNDCLASS结构的hCursor栏位。当滑鼠游标在依据这个类别建立的视窗的显示区域上出现时,它变成一个小箭头。
下一个栏位指定依据这个类别建立的视窗背景颜色。hbrBackground栏位名称中的hbr字首代表「handle to a
brush(画刷代号)」。画刷是个绘图词汇,指用来填充一个区域的著色样式。Windows有几个标准画刷,也称为「备用(stock)」画刷。这里所示的GetStockObject呼叫将传回一个白色画刷的代号:
wndclass.hbrBackground = GetStockObject (WHITE_BRUSH) ;
这意味著视窗显示区域的背景完全为白色,这是一种极其普遍的做法。
下一个栏位指定视窗类别功能表。HElLOWIN没有应用程式功能表,所以该栏位被设定为NULL:
wndclass.lpszMenuName = NULL ;
最後,必须给出一个类别名称。对於小程式,类别名称可以与程式名相同,即存放在szAppName变数中的「HelloWin」字串。
wndclass.lpszClassName = szAppName ;
至於该字串由ASCII字元组成或由Unicode字元组成,取决於是否定义了UNICODE识别字。
在初始化该结构的10个栏位後,HELLOWIN呼叫RegisterClass来注册这个视窗类别。该函式只有一个参数,即指向WNDCLASS结构的指标。实际上,RegisterClassA函式将获得一个指向WNDCLASSA结构的指标,而RegisterClassW函式将获得一个指向WNDCLASSW结构的指标。程式要使用哪个函式来注册视窗类别,取决於发送给视窗的讯息包含ASCII文字还是Unicode文字。
现在有 |