孙鑫 第十课之一 颜色选择对话框编程(笔记+转载)

本文详细介绍了1CColorDialog类及其数据成员m_ccCHOOSECOLORm_cc的使用方法。该类主要用于实现Windows平台上的颜色选择对话框,通过设置不同的标志位可以定制对话框的显示样式和行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 CColorDialog 类

①数据成员 m_cc

CHOOSECOLOR m_cc;   是一个指向结构体CHOOSECOLOR类型的变量,

typedef struct {

  DWORD        lStructSize; //结构长度

  HWND         hwndOwner; //所属窗口

  HWND         hInstance; //

  COLORREF     rgbResult; //如果Flags字段指定了CC_RGBINIT标志,那么创建对话框时使用这个字段

                   //来初始化选择框中的颜色;函数返回时在这里返回用户选择的颜色

  COLORREF     *lpCustColors; //指向一个16个双字的缓冲区,定义16种自定义颜色

  DWORD        Flags; //标志,如下的组合:

                   //CC_FULLOPEN---对话框显示右边的扩展部分,如果不指定这个标志,初始化时扩展

                   //部分不显示,但用户可以通过单击“规定自定义颜色”按钮将对话框打开

                   //CC_PREVENTFULLOPEN---禁止“规定自定义颜色”按钮,即不允许用户展开对话框

                   //的扩展部分

                 //CC_RGBINIT---对话框显示时用rgbResult字段的值初始化选择框中的颜色

  LPARAM       lCustData; //

  LPCCHOOKPROC lpfnHook; //

  LPCTSTR      lpTemplateName; //

} CHOOSECOLOR, *LPCHOOSECOLOR;



2  eg.例子

CColorDialog   dlg;

dlg.m_cc.Flags  |= CC_RGBINIT | CC_FULLOPEN;    //CC_RGBINIT表示以结构体中变量rgbResult的值来初始化当打开颜色选择对话框时候所默认选择的颜色。 CC_FULLOPEN表示打开此对话框时全部展开

dlg.m_cc.rgbResult = color;  //color为上一次选择的结果

if( IDOK == dlg.DoModal())

    color = dlg.m_cc.rgbResult;

}

// codes ...


孙鑫 第十课之一 颜色选择对话框编程(笔记+转载) - 大灰狼 - 大灰狼 的博客?

原文:http://blog.youkuaiyun.com/ACE1985/archive/2010/07/28/5770482.aspx

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值