CROLLBAR 10,8,20,24,100,SBS_VERT | WS_TABSTOP CTEXT "0",13,8,124,24,8,NOT WS_GROUP CTEXT "&Green",IDC_STATIC,48,8,24,8,NOT WS_GROUP SCROLLBAR 11,48,20,24,100,SBS_VERT | WS_TABSTOP CTEXT "0",14,48,124,24,8,NOT WS_GROUP CTEXT "&Blue",IDC_STATIC,89,8,24,8,NOT WS_GROUP SCROLLBAR 12,89,20,24,100,SBS_VERT | WS_TABSTOP CTEXT "0",15,89,124,24,8,NOT WS_GROUP END
RESOURCE.H (摘录) // Microsoft Developer Studio generated include file. // Used by Colors2.rc
#define IDC_STATIC -1
原来的COLORS1程式所显示的卷动列大小是依据视窗大小决定的,而新程式在非模态对话方块内以固定的尺寸来显示它们,如图11-4所示。
当您建立对话方块模板时,直接将三个卷动列的ID分别设为10、11和12,将显示卷动列目前值的三个静态文字栏位的ID分别设为13、14和15。将每个卷动列都设定为Tab
Stop样式,而从所有的六个静态文字栏位中删除Group样式。

在COLORS2中,非模态对话方块是在WinMain函式里建立的,紧跟在程式主视窗的ShowWindow呼叫之後。注意,主视窗的视窗样式包含WS_CLIPCHILDREN,这允许程式无须擦除对话方块就能够重画主视窗。
如上所述,从CreateDialog传回的对话方块视窗代号存放在整体变数hDlgModeless中,并在讯息回圈中被测试。不过,在这个程式中,不需要将代号存放在整体变数中,也不需要在呼叫IsDialogMess |