zoukankan      html  css  js  c++  java
  • [转]MFC如何设置对话框背景颜色

    转自:http://dev.firnow.com/course/3_program/c++/cppjs/2008422/110829.html

    1.重载OnCtlColor    (CDC*    pDC,    CWnd*    pWnd,    UINT    nCtlColor),即WM_CTLCOLOR消息。   
       ①在CExampleDlgDlg的头文件中,添加一CBrush的成员变量:     
       class    CExampleDlgDlg    :    public    CDialog   
       {...   
       protected:   
       CBrush    m_brush;     
       ...   
       };   
        ②在OnInitDialog()函数中添加如下代码:     
       BOOL    CExampleDlgDlg::OnInitDialog()     
       {   
       ...   
       //    TODO:    Add    extra    initialization    here   
       m_brush.CreateSolidBrush(RGB(0, 255, 0));    //    生成一绿色刷子     
       ...   
       }     
      ③利用ClassWizard重载OnCtlColor(…),即WM_CTLCOLOR消息:     
       HBRUSH    CExampleDlgDlg::OnCtlColor   
       (CDC*    pDC,    CWnd*    pWnd,    UINT    nCtlColor)     
       {   
       /*   
       **    这里不必编写任何代码!   
       **下行代码要注释掉   
       **    HBRUSH    hbr = CDialog::OnCtlColor(pDC,  pWnd,  nCtlColor);   
       */   
              return    m_brush;        //返加绿色刷子   
       }

    2. 修改对话框的OnPaint,在else中添加如下代码   
               CPaintDC    dc(this);   
               CRect    rect;     
               GetClientRect(rect);     
               dc.FillSolidRect(rect,#000000);     
               CDialog::OnPaint();

    3.在对话框的应用类(App)的.cpp的Initinstance()中加入代码:   
                       //加在int    nResponse=dlg.DoModal();   
                       前一个RGB设置背景色,第二个设置字体颜色   
       SetDialogBkColor(#0000ff,#00ff00);

    4.1.在对话框类中添加成员变量:   
       public:   
               CBrush    m_brushBlue;   
        
       2.在对话框类的OnInitDialog()中添加代码:   
       m_brushBlue.CreateSolidBrush(#0000ff);   
        
       3.用ClassWizard在对话框类中添加成员函数OnCtlCollor(),并在其中添加代码:   
       if(nCtlColor==CTLCOLOR_DLG)   
       return    m_brushBlue;

      

  • 相关阅读:
    NOIP2010普及组T3 接水问题 ——S.B.S.
    【NOIP提高组2015D2T1】uva 714 copying books【二分答案】——yhx
    【NOIP合并果子】uva 10954 add all【贪心】——yhx
    #include <NOIP2009 Junior> 细胞分裂 ——using namespace wxl;
    #include <NOIP2008 Junior> 双栈排序 ——using namespace wxl;
    NOIP2010普及组 三国游戏 -SilverN
    NOIP2009 提高组T3 机器翻译 解题报告-S.B.S
    NOIP2010提高组乌龟棋 -SilverN
    NOIP2010提高组 机器翻译 -SilverN
    UVa 297 Quadtrees -SilverN
  • 原文地址:https://www.cnblogs.com/abinxm/p/1829159.html
Copyright © 2011-2022 走看看