当前位置:编程学习 > C/C++ >>

颜色对话框使用实例

颜色对话框允许用户选择常用的系统色。
使用API函数ChooseColor可以弹出一个颜色对话框。
MFC对颜色的对话框的封装类为CColorDialog。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
修改FontDlgDemo实例,添加一个按钮控件,将其文本改为“颜色”,将其ID改为IDC_BTN_COLOR
为其添加消息响应函数:
[cpp]  www.zzzyk.com
void CFontDlgDemoDlg::OnBtnColor()  

    // TODO: Add your control notification handler code here 
    ///定义并初始化文字格式结构 
    CHARFORMAT cf = {0}; 
    cf.cbSize = sizeof(cf); 
    cf.dwMask = CFM_COLOR; 
    ///取得文本框当前文字的格式 
    m_edtContext.GetSelectionCharFormat(cf); 
 
    CColorDialog dlg(cf.crTextColor); 
    ///显示对话框,选择字体的格式 
    if(dlg.DoModal() == IDOK) 
    { 
        ////取得用户所选字体 
        cf.crTextColor = dlg.GetColor(); 
        ///将颜色设置到文本框当前文本 
        cf.dwEffects = 0; 
        m_edtContext.SetSelectionCharFormat(cf); 
    } 


说明;
1、CColorDialog的构造函数比较简单,主要的参数就是要指定其初始化颜色。
2、对话框返回后,可以使用dlg.GetColor()获得新的颜色。
3、将新颜色设置到文本框,本例采用了和设置字体类型相似的方法,但是将CHARFORMAT结构的dwMask设置为CFM_CO;LOR,将
dwEffects设置为0,以使该结构中的其余成员被忽略,只修改颜色属性。
 
 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,