1:如何判断一个窗口是否可见?
2:如何将一个对话框背景画为黑色,不能使用在OnPaint中用StrechBlt的贴图方法?

解决方案 »

  1.   

    WM_ERASEBKGND - 对对话框没用WS_VISIBLE -用这个也太复杂了吧,比如我要知道一个按钮是否可见
      

  2.   


    2.
    HBRUSH CtesttopDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    HBRUSH hbr = CreateSolidBrush(RGB(255,0,0));
    return hbr;
    }
      

  3.   

    除了OnCtlColor呢,WinCE下不起作用
      

  4.   

    老大,混呢吧,4个▲还问这种问题。
    WM_ERASEBKGND对对话框当然有用,Invalidate(true)就会调了
      

  5.   

    1.IsWindowVisible
    2. 在App中调用SetDialogBkColor(可能记错了,你看看MSDN),或者响应WM_ERASEBKGND.
      

  6.   

    改变窗口类的brush,在注册RegisterClass时,typedef struct _WNDCLASS { 
        UINT       style; 
        WNDPROC    lpfnWndProc; 
        int        cbClsExtra; 
        int        cbWndExtra; 
        HINSTANCE  hInstance; 
        HICON      hIcon; 
        HCURSOR    hCursor; 
        HBRUSH     hbrBackground; // 创建一个黑色画刷,赋给它
        LPCTSTR    lpszMenuName; 
        LPCTSTR    lpszClassName; 
    } WNDCLASS, *PWNDCLASS; 或者用DWORD SetClassLong(
      HWND hWnd,       // handle to window
      int nIndex,      // index of value to change
      LONG dwNewLong   // new value
    );修改背景画刷