• 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

  • 相关阅读:
    Balanced Binary Tree
    Minimum Depth of Binary Tree
    Path Sum
    Flatten Binary Tree to Linked List
    Distinct Subsequences
    Chp3: Stacks and Queue
    Chp2: Linked List
    Populating Next Right Pointers in Each Node
    Valid Palindrome
    Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/lidabo/p/3040688.html
Copyright © 2020-2023  润新知