cc.hInstance = NULL ; cc.rgbResult = RGB (0x80, 0x80, 0x80) ; cc.lpCustColors = crCustColors ; cc.Flags = CC_RGBINIT | CC_FULLOPEN ; cc.lCustData = 0 ; cc.lpfnHook = NULL ; cc.lpTemplateName = NULL ;
return ChooseColor (&cc) ; }
ChooseColor函式使用一个CHOOSECOLOR型态的结构和含有16个DWORD的阵列来存放常用颜色,使用者将从对话方块中选择这些颜色之一。rgbResult栏位可以初始化为一个颜色值,如果Flags栏位的CC_RGBINIT旗标被设立,则显示该颜色。通常在使用这个函式时,rgbResult将被设定为使用者选择的颜色。
请注意,Color对话方块的hwndOwner栏位被设定为NULL。在ChooseColor函式呼叫DialogBox以显示对话方块时,DialogBox的第三个参数也被设定为NULL。这是完全合法的,其含义是对话方块不为另一个视窗所拥有。对话方块的标题将显示在工作列中,而对话方块就像一个普通的视窗那样执行。
您也可以在自己程式的对话方块中使用这种技巧。使Windows程式只建立对话方块,其他事情都在对话方块程序中完成,这是可能的。
|