哎!
vc真是难用!
怎么样用滑杆条来实现对话框颜色的渐变了?
请大家帮我
最好能够提供示范代码!

解决方案 »

  1.   

    WM_CTLCOLORDLG
    The WM_CTLCOLORDLG message is sent to a dialog box before the system draws the dialog box. By responding to this message, the dialog box can set its text and background colors using the specified display device context handle. A window receives this message through its WindowProc function. LRESULT CALLBACK WindowProc(
      HWND hwnd,       // handle to window
      UINT uMsg,       // WM_CTLCOLORDLG
      WPARAM wParam,   // handle to DC (HDC)
      LPARAM lParam    // handle to dialog box (HWND)
    );
    Parameters
    wParam 
    Handle to the device context for the dialog box. 
    lParam 
    Handle to the dialog box. 
    Return Values
    If an application processes this message, it must return a handle to a brush. The system uses the brush to paint the background of the dialog box. Res
    By default, the DefWindowProc function selects the default system colors for the dialog box. The system does not automatically destroy the returned brush. It is the application's responsibility to destroy the brush when it is no longer needed.The WM_CTLCOLORDLG message is never sent between threads. It is sent only within one thread. Note that the WM_CTLCOLORDLG message is sent to the dialog box itself; all of the other WM_CTLCOLOR* messages are sent to the owner of the control. If a dialog box procedure handles this message, it should cast the desired return value to an INT_PTR and return the value directly. If the dialog box procedure returns FALSE, then default message handling is performed. The DWL_MSGRESULT value set by the SetWindowLong function is ignored. 
      

  2.   

    渐变应该就是通过在timer中传递不同背景色的hdc就可以实现了哦
      

  3.   

    不好意思,你是用滑杆的,你在移动滑杆时传递不同背景色的hdc给WM_CTLCOLORDLG试试看吧
      

  4.   

    用FillRect进行填充, 而画刷的颜色随坐标的改变而加深