MFC对话框设置背景色及透明度

转载 2013年12月04日 20:37:02
首先建立一个基于对话框的MFC应用程序工程testDlg,对话框类是CtestDlgDlg,接下来
一,定义并创建画刷
  1. // 在CtestDlgDlg类中添加成员变量  
  2. CBrush m_bkBrush;  
  3. // 在OnInitDialog()中创建一把黄色的背景刷子   
  4. m_bkBrush.CreateSolidBrush(RGB(255,255,0));          
 
二,添加WM_CTLCOLOR响应消息函数,点击对话框类CtestDlgDlg属性-->消息响应-->WM_CTLCOLOR-->自动生成代码
  1. HBRUSH CtestDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)  
  2. {  
  3.     HBRUSH   hbr   =   CDialog::OnCtlColor(pDC,   pWnd,   nCtlColor);    
  4.     if(nCtlColor == CTLCOLOR_DLG)   // 判断是否是对话框  
  5.     {  
  6.         return   m_bkBrush; // 返回刚才创建的背景刷子  
  7.     }  
  8.     //TODO:如果默认的不是所需画笔,则返回另一个画笔  
  9.     return   hbr;  
  10. }  
 
三,在OnInitDialog()中调用SetLayeredWindowAttributes设置透明度
  1. ::SetWindowLong( m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);  
  2. ::SetLayeredWindowAttributes( m_hWnd, 0, 120, LWA_ALPHA); // 120是透明度,范围是0~255  
 
以上代码均用VS2008测试过

vs2010 MFC设置控件背景透明

通常要设置控件背景色透明,原因是在对话框背景中使用了图片。对于这种情况,在vs2010中应当调用SetBackgroundImage函数来实现背景图片的显示。BOOL CMFCDlg::OnInitD...
  • rzhengbj163
  • rzhengbj163
  • 2015年02月15日 00:05
  • 2182

MFC对话框如何使用工具栏并修改工具栏的背景颜色与自绘对话框统一(二)

写这篇文章只是为了解决我上一篇文章遗留的一个问题,本来觉得这个问题可以不用管,但是在我写的程序中发现并不能置之不理,先来重现这个问题     工具栏有一部分没有绘上     看红色框包...
  • panshiqu
  • panshiqu
  • 2013年08月29日 17:27
  • 2091

mfc对话框程序如何添加背景图片以及使控件背景图片与对话框一致

首先,你需要一张适合自己对话框程序大小的
  • ytuo1223
  • ytuo1223
  • 2014年07月27日 09:33
  • 1472

MFC设置对话框背景色及控件颜色

MFC设置对话框背景色及控件颜色 一、使用背景图片更改对话框背景色 在对话框源文件void CxxDlg::OnPaint()函数中 if (IsIconic()) {     (这里省...
  • u013541325
  • u013541325
  • 2015年07月04日 15:53
  • 7816

CSS背景色的半透明设置 opacity 透明度

在CSS中有一个Alpha滤镜,这个滤镜可以设置目标元素的透明度。还可以通过指定坐标,从而实现各种不同范围的透明度。具体语法如下: {filter: alpha(opacity=#opacity,fi...
  • sandykwx
  • sandykwx
  • 2013年01月17日 09:50
  • 384

MFC学习--对话框及窗口背景色

设置对话框背景颜色及背景图片可在OnCtlColor(),OnEraseBkgnd(),OnPaint()里设置,对话框初始化完毕,显示窗口时按顺序调用OnSize()>OnEraseBkgnd()>...
  • chen825919148
  • chen825919148
  • 2012年07月16日 21:41
  • 2190

MFC 对话框实现 背景色渐变

mfc实现某对话框背景色渐变 如果是单文档视图结构,在OnDraw实现代码,如果是对话框结构,在该对话框所在的cpp里的OnPain函数【如果没有这个函数,请在类向导里派生】里实现如下代码即可,本示例...
  • dhl11
  • dhl11
  • 2017年03月02日 14:46
  • 513

怎样设置对话框,视类窗口背景色多种方法经典总结,可直接运行

  • 2015年05月24日 10:02
  • 15.27MB
  • 下载

设置对话框的背景色(转)

基于对话框的MFC AppWizard应用程序中,改变对话框的背景颜色---- 方法一:    调用CWinApp类的成员函数SetDialogBkColor来实现。 ---- 其中函数的第一个参数指...
  • dx7128551
  • dx7128551
  • 2011年05月30日 17:24
  • 212

设置对话框、static和group的背景色和字体颜色

对话框背景色设置,重载OnPaint: void CMonitorDialog::OnPaint() { CPaintDC dc(this); // device context for pai...
  • stephen1315
  • stephen1315
  • 2012年05月18日 00:09
  • 4633
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MFC对话框设置背景色及透明度
举报原因:
原因补充:

(最多只允许输入30个字)