方法一:设置所有窗口的颜色     MFC程序修改对话框的背景和文字颜色最简单的方法就是调用SetDialogBkColor函数,SetDialogBkColor是CWinApp类的成员函数,以下是该函数的原型:     void CWinApp::SetDialogBkColor(COLORREF clrCtlBk, COLORREF clrCtlText);     请注意,SetDialogBkColor函数并不是对Windows的某个API的封装,他是MFC框架的一部分,所以不使用MFC的程序也就不能享受这种方便。这个函数的使用很简单,在程序的CWinApp派生类的InitInstance函数中,添加一行代码就行了,写在domodal()的上一句:     SetDialogBkColor(RGB(188,197,230),RGB(13,125,188)); 注:前一个为背景色,后一个为字体颜色。

方法二:设置当前窗口     改变对话框的背景颜色的原理很简单,就是响应WM_ERASEBKGND消息,用自定义的颜色填充对话框的客户区背景,代替对话框窗口默认的背景填充动作。     改变控件和字体的颜色同理,是响应WM_CTLCOLOR这一消息。 首先://消息映射 BEGIN_MESSAGE_MAP(CHelloDlg, CDialog)  //{{AFX_MSG_MAP(CHelloDlg)  ON_WM_SYSCOMMAND()  ON_WM_PAINT()  ON_WM_CTLCOLOR() //字体颜色  ON_WM_ERASEBKGND() //背景色  ON_WM_QUERYDRAGICON()  //}}AFX_MSG_MAP END_MESSAGE_MAP()

其次:定义两个函数       afx_msg BOOL OnEraseBkgnd(CDC* pDC);  afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);

第三:重载OnEraseBkgnd和OnCtlColor

其中预先定义:protected:    CBrush m_brBkgnd;

//设置对话框背景色

方法一:可以实现(但有点问题) BOOL CHelloDlg::OnEraseBkgnd(CDC* pDC)  CRect rect;  GetClientRect(&rect);  m_brBkgnd.CreateSolidBrush(RGB(183,213,213)); //背景色  pDC->FillRect(&rect,&m_brBkgnd);  return TRUE; }

方法二:可行

BOOL CClientDlg::OnEraseBkgnd(CDC* pDC)  CBrush back(RGB(220,215,254));  CBrush* pold=pDC->SelectObject(&back);  CRect rect;  pDC->GetClipBox (&rect);  pDC->PatBlt (rect.left,rect.top,rect.Width(),rect.Height(),PATCOPY);     pDC->SelectObject(pold);  return TRUE; }

方法三:也可行

BOOL CHelloDlg::OnEraseBkgnd(CDC* pDC)  CBrush MyBrush;  MyBrush.CreateSolidBrush(RGB(0,255,0));  CBrush *pOldBrush=pDC->SelectObject(&MyBrush);  CRect Rect;  GetClientRect(&Rect);  pDC->Rectangle(&Rect);  pDC->SelectObject(pOldBrush);  return TRUE;

//设置对话框中控件的字体颜色 HBRUSH CHelloDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)  HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);  if(pWnd->GetDlgCtrlID() == IDC_EDIT_MULLINE) //多行edit控件   pDC->SetTextColor(RGB(13,125,188)); //设置字体颜色   return hbr;  else   pDC->SetBkMode(TRANSPARENT);   pDC->SetTextColor(RGB(255,125,188));   return (HBRUSH)m_brBkgnd; //因为CBrush类实现了HBRUSH类型转换操作符 }

原文来源 :http://it.chinawin.net/softwaredev/article-14054.html

c语言vc怎么改变背景板颜色,vc6.0中更改对话框背景色和字体颜色相关推荐

  1. VC项目配置基础 (VC6.0 和VC2005)

    转载:http://blog.csdn.net/jwcoffee/article/details/5826981 一.预处理宏 1. 通用宏 VC6.0 中: Project Setting à C/ ...

  2. R语言ggplot2条形图(bar plot)可视化:更改一个条形(bar)的颜色、突出一个条形(bar)的颜色

    R语言ggplot2条形图(bar plot)可视化:更改一个条形(bar)的颜色.突出一个条形(bar)的颜色 目录

  3. html 改变文本框字体颜色,CSS更改文本框的字体颜色

    我已搜索和搜索,但不能很好地得到这个权利.我在我的网站上有一个文本框,在我的CSS/HTML中,我将它定义为一个类,就像其他任何东西一样,并给它一个背景图像没有问题.我决定我需要改变字体颜色,但不管我 ...

  4. c语言水平制表符作用,C语言课:VC6.0中水平制表符和退格符的进一步说明

    关于VC6.0中水平制表符'\t'和退格符'\b' 的进一步说明 (1)使用printf命令输出1个水平制表符'\t',则在荧幕上打印长度为8个空格的表位,该表位的起点光标位置是每行开头或上一个表位结 ...

  5. [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)...

    首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下: C++ Code  1 2   template < class _Ty, cla ...

  6. 在VC6.0中使用GDI+的两种办法

    朱金灿 GDI+是GDI的升级版本.在VC6.0中并没有配备GDI+的相关文件.那么如何在VC6.0使用GDI+呢?我从网上搜索了一些资料,并结合自己的使用,总结出一下两种方法.下面我各建一个MFC工 ...

  7. html下拉菜单换背景颜色,如何在select框下拉菜单中更改蓝色突出显示的颜色

    如何在select框下拉菜单中更改蓝色突出显示的颜色 如何更改此下拉菜单中的蓝色突出显示? 链接到select框演示 这是代码: Select an OptionOption 1Option 2 如果 ...

  8. 在VC6 0中使用GDI+的两种办法

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 朱金灿 ...

  9. MATLAB如何采用0~1的RGB值设置字体颜色?

    Problem: 在MATLAB中,如何采用0~1的RGB值设置字体颜色? 目前做一个GUI,遇到动态改变字体颜色的这点需求,而且变为自己想要的颜色 这样会带来两个小问题: 不能采用预设颜色值的方式实 ...

最新文章

  1. oc引导win方法_[OC更新]机械革命10代标压稳定版更新
  2. 网络安全习惯_健康习惯,确保良好的网络安全
  3. 软件——机器学习与Python,Python3的输出与输入
  4. 查看h3c服务器raid信息,h3c 服务器 raid配置
  5. C++ typedef小结(转载)
  6. hdu1426 Sudoku Killer
  7. sqlite3 not found问题解决方法
  8. 线段树相关(研究总结,线段树)
  9. mysql查看表空间占用情况
  10. python ffmpeg直播_python+ffmpeg视频并发直播压力测试
  11. matlab的基本语法规则_MATLAB语法规则
  12. PyCharm常用配置和常用插件
  13. 某大厂算法工程师面试题详解,问题+答案
  14. 2003- cant connect to MYSQL server on localhost(10061)
  15. 摘果子问题(聚沙成塔问题)
  16. java魂斗罗_向经典致敬--跟我用Java写魂斗罗
  17. Python字符串格式化
  18. 基于RT-Thread的光照强度传感器BH1750FVI 软件包
  19. 逍遥 android adb,逍遥模拟器 Android adb shell getprop获取系统信息
  20. 大龄程序猿的出路在哪里

热门文章

  1. 多可文档管理的数据备份
  2. 如果实现类似微信附近的人功能
  3. Project-符合人类习惯的多元多项式计算器
  4. 有没有人知道芯讯通sim8100的Enhanced COM port是干嘛的
  5. 为什么需要制定计划?
  6. 手机微信语音批量转文字 使用百度语音识别
  7. 一篇文章让你从JAVA零基础入门`OOP`编程12.19
  8. RxJava在Android移动端开发中的实战应用之一
  9. 数值计算——最小二乘拟合二元一次多项式
  10. 上线群聊功能 阿里搞不赢的社交美团能行吗?