zoukankan      html  css  js  c++  java
  • MFC OnCtlColor函数用来改变控件颜色


    MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd
    *pWnd,UINT nCtlColor);




              
    参数nCtlColor用于指定控件的类型,可以是:
               .CTLCOLOR_BTN               
    按钮控件
               .CTLCOLOR_DLG               
    对话框
               .CTLCOLOR_EDIT               编辑框
               .CTLCOLOR_LISTBOX           
    列表控件
               .CTLCOLOR_MSGBOX            
    消息控件
               .CTLCOLOR_SCROLLBAR 滚动条控件
               .CTLCOLOR_STATIC            
    静态控件




          假设你已有了名为My的对话框工程.你有了一个STATIC的控件,ID为IDC_STATIC1.
      HBRUSH
    CMyDlg
    ::OnCtlColor(CDC*
    pDC, CWnd*
    pWnd, UINT nCtlColor)
               {
            HBRUSH hbr
    = CDialog::OnCtlColor(pDC,
    pWnd, nCtlColor);
     
           // TODO: Change any
    attributes of the DC here

               if (nCtlColor==CTLCOLOR_STATIC)


                  {
                        pDC->SetTextColor(RGB(255,0,0));
      //字体颜色
                        pDC->SetBkColor(RGB(0, 0,
    255));
       //字体背景色 


                    }
           // TODO: Return a different brush if the default is not desired
            return hbr;
               }



    如果要指定某个特定控件可以这样写:ID为IDC_STATIC1


    if (pWnd->GetDlgCtrlID()==IDC_STATIC1)
    {
           pDC->SetTextColor
    (
    RGB(255,0,0));  //设置字体颜色
           pDC->SetBkMode(TRANSPARENT); //设置字体背景为透明
    // TODO: Return a
    different brush if the default is not desired

      return (HBRUSH)::GetStockObject(BLACK_BRUSH);  // 设置背景色
    }
    else
    return hbr;


    【注】


    BLACK_BRUSH:黑色


    WHITE_BRUSH:白色


    GRAY_BRUSH:灰色


    NULL_BRUSH:透明


    HOLLOW_BRUSH :透明


    from:http://blog.csdn.net/wny198816/article/details/6784523

  • 相关阅读:
    Hibernate 与 mybatis 区别
    Struts2 核心流程
    java 面试 -- 4
    无线电日记 2
    ham 无线电笔记
    Our Deepest Fear
    随笔
    GSM学习笔记
    网络时代的悲哀:微软百科全书
    [转载]arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
  • 原文地址:https://www.cnblogs.com/lidabo/p/3040688.html
Copyright © 2011-2022 走看看