您的位置:首页 > 其它

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即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: