C语言dialog函数,三、Windows通用对话框—只呼叫一个函数的Windows程序

程序11-7 COLORS3

COLORS3.C

/*-------------------------------------------------------------------------

COLORS3.C -- Version using Common Dialog Box

(c) Charles Petzold, 1998

--------------------------------------------------------------------------*/

#include

#include

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

static CHOOSECOLOR cc ;

static COLORREF crCustColors[16] ;

cc.lStructSize = sizeof (CHOOSECOLOR) ;

cc.hwndOwner = NULL ;

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) ;

}

51d44c655515f36baa309cdae8ac1576.png

ChooseColor函数使用一个CHOOSECOLOR型态的结构和含有16个DWORD的数组来存放常用颜色,使用者将从对话框中选择这些颜色之一。rgbResult字段可以初始化为一个颜色值,如果Flags字段的CC_RGBINIT旗标被设立,则显示该颜色。通常在使用这个函数时,rgbResult将被设定为使用者选择的颜色。

请注意,Color对话框的hwndOwner字段被设定为NULL。在ChooseColor函数呼叫DialogBox以显示对话框时,DialogBox的第三个参数也被设定为NULL。这是完全合法的,其含义是对话框不为另一个窗口所拥有。对话框的标题将显示在工作列中,而对话框就像一个普通的窗口那样执行。

您也可以在自己程序的对话框中使用这种技巧。使Windows程序只建立对话框,其它事情都在对话框程序中完成,这是可能的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值