我听说用OnCtlColorStatic(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& /*bHandled*/),但是弄了好几次不是文本没有显示就是不变。而且我有好几个控件要分别变色。这个响应函数的参数分别代表什么啊?我找了好久都没找到。这对大虾来说不难吧~~
就这么点分了,全给了~~

解决方案 »

  1.   

    BEGIN_MSG_MAP(CAttrDlg)
            MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
            MESSAGE_HANDLER(WM_CTLCOLORSTATIC,OnCtlColorStatic)
            COMMAND_ID_HANDLER(IDOK, OnOK)
            COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
            END_MSG_MAP()LRESULT OnCtlColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
        {
            HDC  hdc  = (HDC) wParam;
            HWND hWnd = (HWND) lParam;        if(hWnd == GetDlgItem(IDC_STATIC_DATE))
            {
                ::SetTextColor(hdc,RGB(255,0,255));
                ::SetBkColor(hdc,RGB(0xff,0xff,0xff));
                return (LRESULT)GetStockObject(NULL_BRUSH) ;
            }        bHandled = FALSE;
            return 0;
        }巧了
    刚做了这个
      

  2.   

    太感谢了。不过我用的方法和你的差不多,怎么就不行呢?
    return (LRESULT)GetStockObject(NULL_BRUSH) ;这句话是干什么的?