怎样获取一个控件的背景色呢,我先取得他的DC,再进行GetBkColor()返回都是默认的白色。

解决方案 »

  1.   

    GetPixel()只是取一个特定的象素点啊,那如果我想获得前景色呢。
      

  2.   

    GetBKColor是指定DC的背景色,最有用的是在输出文字的时候,用做文字的背景。
    你可以用SetBKColor,指定背景色,然后调用TextOut就能看出结果正确的方法应该使用
    GetClassInfo
    BOOL GetClassInfo(          HINSTANCE hInstance,
        LPCTSTR lpClassName,
        LPWNDCLASS lpWndClass
    );typedef struct {
        UINT style;
        WNDPROC lpfnWndProc;
        int cbClsExtra;
        int cbWndExtra;
        HINSTANCE hInstance;
        HICON hIcon;
        HCURSOR hCursor;
        HBRUSH hbrBackground;
        LPCTSTR lpszMenuName;
        LPCTSTR lpszClassName;
    } WNDCLASS, *PWNDCLASS;hbrBackground就是背景刷子
    使用
    GetObject,传入
    typedef struct tagLOGBRUSH { 
      UINT     lbStyle; 
      COLORREF lbColor; 
      LONG     lbHatch; 
    } LOGBRUSH, *PLOGBRUSH; 
    结构就可以得到背景颜色
      

  3.   

    至于如何获得className
    则使用
    GetClassName
      

  4.   

    doon(vecodo),按照你的方法,我怎么取回来的都是灰色呢RGB(204,204,204).