VS2010/MFC 设置对话框客户区背景及客户区文本
2015-04-20 14:33
260 查看
对话框更换客户区背景以及设置客户区文本显示:
第一步:类向导-->消息-->CTLCOLOR-->添加处理程序-->编辑代码。
第二步:zai OnCtlColor函数中写,
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
if(nCtlColor==CTLCOLOR_DLG||nCtlColor==CTLCOLOR_STATIC)
{
CBrush brush; //重新定义画刷
brush.CreateSolidBrush(DLG_CLIENT_BACKGROUND_COLORREF);//指定画刷颜色
CRect rect;
GetClientRect(rect);//客户区矩形
pDC->SelectObject(&brush);//选择画刷
pDC->FillRect(rect,&brush);//填充矩形区
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(DLG_CLIENT_TEXT_COLORREF);//设置文字颜色
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return brush; //返回自定义画刷
}
return hbr;//返回系统画刷
第三步:
这种方式会导致系统的IDOK按钮和IDCANCEL按钮初始显示的时候看不到,鼠标移动过去刷新才可以,解决办法:删除系统的这两个控件自己添加BTN即可。
第一步:类向导-->消息-->CTLCOLOR-->添加处理程序-->编辑代码。
第二步:zai OnCtlColor函数中写,
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
if(nCtlColor==CTLCOLOR_DLG||nCtlColor==CTLCOLOR_STATIC)
{
CBrush brush; //重新定义画刷
brush.CreateSolidBrush(DLG_CLIENT_BACKGROUND_COLORREF);//指定画刷颜色
CRect rect;
GetClientRect(rect);//客户区矩形
pDC->SelectObject(&brush);//选择画刷
pDC->FillRect(rect,&brush);//填充矩形区
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(DLG_CLIENT_TEXT_COLORREF);//设置文字颜色
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return brush; //返回自定义画刷
}
return hbr;//返回系统画刷
第三步:
这种方式会导致系统的IDOK按钮和IDCANCEL按钮初始显示的时候看不到,鼠标移动过去刷新才可以,解决办法:删除系统的这两个控件自己添加BTN即可。
相关文章推荐
- MFC设置对话框、静态文本框、编辑框的背景及文本
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- MFC对话框美化(文本颜色、字体、背景颜色修改)
- MFC对话框设置背景图片
- VC设置对话框背景图片 MFC显示背景图片方法
- VC编程中如何设置对话框的背景颜色和静态文本颜色
- VC编程中如何设置对话框的背景颜色和静态文本颜色
- mfc对话框设置背景位图,并防止位图失真
- VC/MFC如何设置对话框背景颜色
- 如何设置MFC静态文本背景为透明色?
- MFC----设置对话框的背景颜色及设置透明
- VC/MFC如何设置对话框、static背景颜色
- VC/MFC如何设置对话框背景颜色
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC---对话框(一)对话框文本的获取和设置
- MFC 设置对话框背景图片
- MFC 基于对话框的背景图片设置
- MFC——设置控件文本字体、大小、颜色、背景
- VC/MFC如何设置对话框背景颜色
- MFC 基本操作 --修改对话框、静态文本背景颜色