颜色对话框使用实例
颜色对话框允许用户选择常用的系统色。
使用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++ ,