没有合适的资源?快使用搜索试试~ 我知道了~
OnCtlColor消息的用法
5星 · 超过95%的资源 需积分: 31 28 下载量 147 浏览量
2009-02-28
13:24:39
上传
评论
收藏 29KB DOC 举报
温馨提示
试读
3页
OnCtlColor消息的用法 OnCtlColor消息的用法 OnCtlColor消息的用法 OnCtlColor消息的用法 OnCtlColor消息的用法
资源推荐
资源详情
资源评论
WM_CTLCOLOR 和 OnCtlColor 消息的用法 (2009-01-16 13:56:36)
标签:杂谈
很多人都觉得自己的程序的界面不那么美观,往往 VC 默认产生的对话框比较单调,因此
很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置
背景颜色等等,其实这些完全可以由 VC 自己的 WM_CTLCOLOR 消息来完成!
WM_CTLCOLOR 消息用来完成对 EDIT、STATIC、BUTTON 等控件设置背景和字体颜色,
其用法如下:
1.首先在自己需要设置界面的对话框上点击右键-->建立类向导-->加入 WM_CTLCOLOR 消
息-->自动生成 OnCtlColor()函数,此函数可以对本对话框的控件的界面外观做修饰,用
法如下:
将类向导产生的函数做如下修改:
HBRUSH CDialogColor::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
// TODO: Change any attributes of theDC here
//设置显示字体
CFont * cFont=new CFont;
cFont->CreateFont(16,0,0,0,FW_SEMIBOLD,FALSE,FALSE,0,
ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
DEFAULT_PITCH&FF_SWISS,"Arial");
//对特定的控件做修改
switch(nCtlColor)
{
case CTLCOLOR_STATIC: //对所有静态文本控件的设置
{
pDC->SetBkMode(TRANSPARENT);
//设置背景为透明
pDC->SetTextColor(RGB(255,255,0)); //设置字体颜色
pWnd->SetFont(cFont); //设置字体
HBRUSH B = CreateSolidBrush(RGB(125,125,255));
//创建画刷
return (HBRUSH) B; //返回画刷句柄
}
case CTLCOLOR_EDIT: //对所有编辑框的设置
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,255,0));
pWnd->SetFont(cFont);
HBRUSH B = CreateSolidBrush(RGB(125,125,255));
return (HBRUSH) B;
}
default:
return CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
资源评论
- kuankuan_qiao2012-10-09这篇文章在别的网站上看到过 不过还好
- 幸福的家S2019-06-06参考应用上了,还可以,对于tab控件的子页不起作用
Softboy_TM
- 粉丝: 530
- 资源: 79
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功