在SDK里面是不能像VB,Delphi那样方便的设置控件的一些属性:颜色,背景色等.
你可以截获WM_CTLCOLORXXX消息来改变Edit,Lable,ListBox等控件的颜色.
下面是一个改变Edit背景色的例子:HDC   hDCEdit;
HWND  hWndEdit;
...case WM_CTLCOLOREDIT:
   hWndEdit=(HWND) lParam;
   hDCEdit=(HDC)wParam;
   return (BOOL)SetEditColor(hWnd,hDCEdit,hWndEdit);

解决方案 »

  1.   

    在SDK里面是不能像VB,Delphi那样方便的设置控件的一些属性:颜色,背景色等.
    你可以截获WM_CTLCOLORXXX消息来改变Edit,Lable,ListBox等控件的颜色.
    下面是一个改变Edit背景色的例子:HDC   hDCEdit;
    HWND  hWndEdit;
    ...case WM_CTLCOLOREDIT:
       hWndEdit=(HWND) lParam;
       hDCEdit=(HDC)wParam;
       return (BOOL)SetEditColor(hWnd,hDCEdit,hWndEdit);
      

  2.   

    为什么不同的子窗口要在不同的消息中处理,而且好象处理方法并不完全一样。例如:一个static子窗口在WM_CTLCOLORSTATIC消息中只要更改DC的某些属性就可以,而一个EDIT子窗口则还要返回一个HBRUSH句柄才行,否则更改操作没有效果。是不是每种子窗口都要在不同的消息中处理,哪其它的如日历等窗口在什么消息中处理?自定义窗口在什么消息处理?有没有一个规律总结一下?对了,如何更改BUTTON窗口?