颜色对话框、背景色的设定
2016-07-04 10:35
169 查看
颜色对话框看起来复杂,实现起来没有那么复杂。CColorDialog 类
1.
CColorDialog dlg;
dlg.DoModal();
这样就创建好了一个颜色对话框了,下面怎么将颜色对话框的值传递到view类中,并且显示。m_CC
2.CColorDialog dlg;
if(IDOK==dlg.DoModal())
{
m_color=dlg.m_cc.rgbResult;
}
对于要保存上次操作这里要用到dlg.m_cc.RGBININT;出现报错,非法操作。或上dlg.m_cc.RGBININT;
2.对于字体的编辑还要用到CFontDialog;其实和颜色对话框很相似。m_cf.
释放字体资源,DeleteObject
3.invalidate的用法。
UpdateData(); //这个函数很好,为了每次改变空间上面的值对应的变量也会改变。
CPaintDC dc(this); // device context for painting
CPen pen(m_linesty,m_lineWth,RGB(255,0,0));
dc.SelectObject(&pen);
CRect rect;
GetDlgItem(IDC_SAMPLE)->GetWindowRect(&rect);//得到屏幕大小坐标
ScreenToClient(rect);//转化为当前屏幕坐标
dc.MoveTo(rect.left+20,rect.top+rect.Height()/2);
dc.LineTo(rect.right-20,rect.top+rect.Height()/2);
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialog::OnPaint()
4.改变对话框背景色 WM_CTLCOLOR响应函数 OnCtlColor。
精确到某一个控件的背景色用GetDlgCtrlld
还可以改变文字颜色
pDC->SetTextColor(RGB(255,0,0))
HBRUSH CSettingDig::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID()==IDC_GROUP1)
{
pDC->SetTextColor(RGB(255,0,0));//设置文本颜色
pDC->SetBkMode(TRANSPARENT);
return m_brush;
}
if (pWnd->GetDlgCtrlID()==zc)
{
pDC->SetTextColor(RGB(0,0,255));//设置文本颜色
pDC->SetBkMode(TRANSPARENT);
return m_brush;
}
// TODO: 在此更改 DC 的任何属性
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
。
5.对于绘制按钮来说,要改变其背景色和字体颜色要重新一个类,再累中重新定义虚函数,将代码拷贝过来。
1.
CColorDialog dlg;
dlg.DoModal();
这样就创建好了一个颜色对话框了,下面怎么将颜色对话框的值传递到view类中,并且显示。m_CC
2.CColorDialog dlg;
if(IDOK==dlg.DoModal())
{
m_color=dlg.m_cc.rgbResult;
}
对于要保存上次操作这里要用到dlg.m_cc.RGBININT;出现报错,非法操作。或上dlg.m_cc.RGBININT;
2.对于字体的编辑还要用到CFontDialog;其实和颜色对话框很相似。m_cf.
释放字体资源,DeleteObject
3.invalidate的用法。
UpdateData(); //这个函数很好,为了每次改变空间上面的值对应的变量也会改变。
CPaintDC dc(this); // device context for painting
CPen pen(m_linesty,m_lineWth,RGB(255,0,0));
dc.SelectObject(&pen);
CRect rect;
GetDlgItem(IDC_SAMPLE)->GetWindowRect(&rect);//得到屏幕大小坐标
ScreenToClient(rect);//转化为当前屏幕坐标
dc.MoveTo(rect.left+20,rect.top+rect.Height()/2);
dc.LineTo(rect.right-20,rect.top+rect.Height()/2);
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialog::OnPaint()
4.改变对话框背景色 WM_CTLCOLOR响应函数 OnCtlColor。
精确到某一个控件的背景色用GetDlgCtrlld
还可以改变文字颜色
pDC->SetTextColor(RGB(255,0,0))
HBRUSH CSettingDig::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID()==IDC_GROUP1)
{
pDC->SetTextColor(RGB(255,0,0));//设置文本颜色
pDC->SetBkMode(TRANSPARENT);
return m_brush;
}
if (pWnd->GetDlgCtrlID()==zc)
{
pDC->SetTextColor(RGB(0,0,255));//设置文本颜色
pDC->SetBkMode(TRANSPARENT);
return m_brush;
}
// TODO: 在此更改 DC 的任何属性
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
。
5.对于绘制按钮来说,要改变其背景色和字体颜色要重新一个类,再累中重新定义虚函数,将代码拷贝过来。
相关文章推荐
- Flex设置LinkButton的背景色有思路有源码
- DevExpress设置FocusedNode背景色的方法
- Extjs根据条件设置表格某行背景色示例
- JS实现点击按钮控制Div变宽、增高及调整背景色的方法
- js获取及修改网页背景色和字体色的方法
- 让IE支持RGBa的背景色的代码
- JS实现进入页面时渐变背景色的方法
- JS实现点击登录弹出窗口同时背景色渐变动画效果
- Android GridView不改变背景色实现网格线效果
- javascript设置页面背景色及背景图片的方法
- javascript实现随机生成DIV背景色
- JavaScript实现点击按钮切换网页背景色的方法
- 电脑 及 电脑应用软件背景色、字体的设置(护眼色)
- JS实现点击登录弹出窗口同时背景色渐变动画效果
- highcharts API 中文
- python中高亮带颜色输出
- css+div
- Flash导入矢量图
- JFreechart 中文API
- android 在代码中使用 #ffffff 模式 设置背景色