Enter键来结束这个对话方块。对任何包含内定按钮的对话方块,在按下Enter键或空白键之後,Windows发送一个WM_COMMAND讯息给对话方块,并令wParam的低字组等於内定按键的ID,此时的ID为IDOK。按下Escape键也可以关闭对话方块,这时Windows将发送一个WM_COMMAND讯息,并令ID等於IDCANCEL。
直到对话方块结束之後,用来显示对话方块的DialogBox才将控制权传回给WndProc。DialogBox的传回值是对话方块程序内部呼叫的EndDialog函式的第二个参数(这个值未在ABOUT1中使用,但会在ABOUT2中使用)。然後,WndProc可以将控制权传回给Windows。
即使在显示对话方块时,WndProc也可以继续接收讯息。实际上,您可以从对话方块程序内部给WndProc发送讯息。ABOUT1的主视窗是弹出式对话方块视窗的父视窗,所以AboutDlgProc中的SendMessage呼叫可以使用如下叙述来开始:
不同的主题
虽然Visual C++(www.cppentry.com)
Developer
Studio中的对话方块编辑器和其他资源编辑器,使我们几乎不用考虑资源描述的写作问题,但是学习一些资源描述的语法还是有用的。尤其对於对话方块模板来说,知道了语法,您就可以近一步了解对话方块的范围和限制。甚至当它不能满足您的需要时,您还可以自己建立一个对话方块模板(就像本章後面的HEXCALC程式)。资源编译器和资源描述语法的文件位於/Platform
SDK/Windows Programming Guidelines/Platform SDK Tools/Compiling/Using the
Resource Compiler。
在Developer
Studio的「Properties」对话方块中指定了对话方块的视窗样式,它翻译成对话方块模板中的STYLE叙述。对於ABOUT1,我们使用模态对话方块最常用的样式;
然而,您也可以尝试其他样式。有些对话方块有标题列,标题列用於指出对话方块的用途,并允许使用者通过滑鼠在显示幕上移动对话方块。此样式为WS_CAPTION。如果您使用WS_CAPTION,那么DIA |