MFC中给各个控件填充背景颜色的方法
1.给程序设置大背景色,在OnPaint()函数中添加如下代码:
CRect rect;
CPaintDC dc(this);
GetClientRect(rect);
dc.FillSolidRect(rect, RGB(, , ));
dc.FillPath();
2.给个控件修改背景颜色,先在类向导中添加WM_CTLCOLOR消息,然后就会自动添加OnCtColor()函数:
HBRUSH CMFCApplication1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
CRect rc;
switch (pWnd->GetDlgCtrlID())
{
case IDC_STATIC_GROUP: //像GROUP BOX控件要用FillSolidRect()函数来填充背景,我用SetBkColor()不起作用,不知道为什么
GetDlgItem(IDC_STATIC_GROUP)->GetClientRect(&rc);
pDC->FillSolidRect(rc, RGB(, , ));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
case IDC_STATIC1:
pDC->SetBkColor(RGB(, , ));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
case IDC_STATIC2:
pDC->SetBkColor(RGB(, , ));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
case IDC_STATIC3:
pDC->SetBkColor(RGB(, , ));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
case IDC_STATIC4:
pDC->SetBkColor(RGB(, , ));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
case IDC_STATIC_GROUP2:
GetDlgItem(IDC_STATIC_GROUP2)->GetClientRect(&rc);
pDC->FillSolidRect(rc, RGB(, , ));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
case IDC_STATIC:
pDC->SetBkColor(RGB(, , ));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
case IDC_BUTTON2:
GetDlgItem(IDC_BUTTON2)->GetClientRect(&rc);
pDC->FillSolidRect(rc, RGB(, , ));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
default:
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
return hbr;
}
MFC中给各个控件填充背景颜色的方法的更多相关文章
- MFC 修改各种控件的背景颜色、字颜色和字体
今天主要总结一下有关MFC 中静态编辑框(StaticEdit).编辑框(Edit)和按钮(Button)的背景颜色.字颜色和字体. 我的程序运行结果如下: 由上图我们知道修改的地方有:1.把Stat ...
- Android中设置控件的背景颜色的方式整理
版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 在Android开发中,经常需要设置控件的背景颜色或者图片的src颜色. 效果图 代码分析 根据使用的方法不同,划分为 setBackgro ...
- MFC中动态添加控件----寻找多年的秘籍,吐血推荐
原文作者tianwaik 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立 ...
- VC/MFC中的CComboBox控件使用详解
CComboBox控件详解 CComboBox控件又称作组合框控件,其有三种形态可供选择,1.简单组合框(Simple)2.下拉组合框(Drop-down)3.下拉列表式组合框(Drop-down l ...
- MFC中开发ocx控件,html容器收不到ocx的事件Event
问题背景: MFC开发ocx控件,主窗口就是ctrl类,主窗口类中调度接口和事件映射添加,执行OK,外部html容器中接收事件成功,如下: ctrl.h中声明事件映射函数 void EVTPENSIG ...
- MFC中的CListControl控件
一直想要这种效果,无奈刚开始用了cListbox控件,不知道怎么生成背景的边框,找了好久资料,突然发现好像控件用错了. 用CListControl控件实现图中效果,超级开心~ 实现过程: 添加一个Li ...
- MFC中 用Static控件做超链接(可以实现变手形、下划线、字体变色等功能)
1.新建一个基于对话框的工程MyLink,在对话框中拖一个Static控件,ID可改为IDC_SLink. 2.在头文件中添加成员变量: private: CRect m_Rect; CFont* m ...
- MFC中关于CListBox控件添加水平滚动条
首先是设置listbox控件的属性 Horizontal Scroll设为TRUE: 然后添加函数到CUighurRecognitionDlg.cpp(在CUighurRecognitionDlg. ...
- C#中在AxWebBrowser控件注入JS脚本的方法
/// <summary> /// 窗体加载 /// </summary> private void JS_Load(object sender, EventArgs e) { ...
随机推荐
- 记初学python的一些心得
人生苦短,我用python! 其实我自学python也很长一段时间了,但总是去更换学习资料,搞的现在学的不是很好,因为没更换次资料都要从头开始学起,那么分享下我的学习战况吧,不是很好,还将就的能看. ...
- Python中的 *args 和 **kwargs
基本概念 Python支持可变参数,最简单的方法莫过于使用默认参数. def test_defargs(one, two=2): # 参数one没有默认值,two的默认值为2 print('Requi ...
- 指导手册06:HBase安装部署
指导手册06:HBase安装部署 配置环境 1.参考文件: https://www.cnblogs.com/lzxlfly/p/7221890.html https://www.cnblogs.com ...
- 阶段02JavaWeb基础day01html&css
HTML 基础 概念 全写: HyperText Mark-up Language 译名: 超文本标记语言 超级文本标记语言是一种规范,一种标准, 超文本标记语言它通过标记符号来标记要显示的网页中的各 ...
- StringBuffer&StringBuilder
对字符串修改时,用到StringBuffer&StringBuilder,能够多次修改对象并且不产生新的未使用对象 StringBuilder线程不安全(不能同步访问),速度有优势,多数情况下 ...
- JS-构造函数模式代码实战和总结-极客
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 自动化运维之ansible
第三十九课 自动化运维之ansible 目录 十五. ansible介绍 十六. ansible安装 十七. ansible远程执行命令 十八. ansible拷贝文件或目录 十九. ansible远 ...
- Displaylink安卓驱动
Displaylink安卓驱动 2019年最新版V2.3.1
- elasticsearch的监控脚本
监控elasticsearch cluster 集群 通过主动模式将数据发送给zabbix server import json import struct import socket import ...
- VBA中查找并选定文字
如果从 Selection 对象访问 Find 对象,当找到搜索条件时,就会更改所选内容.下列示例选定下一个出现的“Hello”.如果到达文档结尾时仍未找到“Hello”,则停止搜索. With Se ...