|
ELLOWIN中。
通盘考量
实际上,每一个Windows程式码中都包括HELLOWIN.C程式的大部分。没人能真正记住此程式的全部写法;通常,Windows程式写作者在开始写一个新程式时总是会复制一个现有的程式,然後再做相应的修改。您可以按此习惯自由使用本书附带光碟中的程式。
上面提到,HELLOWIN将在其视窗的中央显示字串。这种说法不是完全正确的。文字实际显示在程式显示区域的中央,它在图3-1中是标题列和边界范围内的大片白色区域。这区别对我们来说很重要;显示区域就是程式自由绘图并且向使用者显示输出结果的视窗区域。
如果您认真思考一下,将会发现虽然只有80行程式码,这个视窗却令人惊讶地具有许多功能。您可以用滑鼠按住标题列,在萤幕上移动视窗;可以按住大小边框,改变视窗的大小。在视窗大小改变时,程式自动地将「Hello,
Windows
98!」字串重新定位在显示区域的中央。您可以按最大化按钮,放大HELLOWIN以充满整个萤幕;也可以按最小化按钮,将程式缩小成一个图示。您可以在系统功能表中执行所有选项(就是按下在标题列最左端的小图示);也可以从系统功能表中选择 Close 选项,或者单击标题列最右端的关闭按钮,或者双击标题列最左端的图示,来关闭视窗以终止程式的执行。
我们将在本章的余下部分对此程式作一详细的检查。当然,我们首先要从整体上看一下。
与前两章中的范例程式一样,HELLOWIN.C也有一个WinMain函式,但它还有另外一个函式,名为WndProc。这就是视窗讯息处理程式。注意,在HELLOWIN.C中没有呼叫WndProc的程式码。当然,在WinMain中有对WndProc的参考,而这就是该函式要在程式开头附近宣告的原因。
Windows函式呼叫
HELLOWIN至少呼叫了18个Windows函式。下面以它们在HELLOWIN中出现的次序列出这些函式以及各自的简明描述:
- LoadIcon 载入图示供程式使用。
- LoadCursor 载入滑鼠游标供程式使用。
- GetStockObject 取得一个图形物件(在这个例子中,是取得绘制视窗背景的画刷物件)。
- RegisterClass 为程式视窗注册视窗类别。
- MessageBox 显示讯息方块。
- CreateWindow 根据视窗类别建立一个视窗。
- ShowWi
|