我想在父窗口上创建一个子窗口   想将子窗口变为透明  即背景色显示父窗口的背景色    而子窗口的内容要显示出来  比如说我写了一些字在子窗口上 子窗口的背景透明 子却要显示出来  怎么做啊?

解决方案 »

  1.   

    直接SetAlpha改变子窗口的透明度不行吗
      

  2.   

    HDC dc = ::GetDC(this->m_hWnd); 
    COLORREF cref = ::GetBkColor(dc); 
    SetWindowLong(this->m_hWnd , GWL_EXSTYLE,GetWindowLong(m_hWnd,GWL_EXSTYLE)|WS_EX_LAYERED); 
    ::SetLayeredWindowAttributes(this->m_hWnd ,cref , 127 , LWA_COLORKEY); 

      

  3.   

    给控件设置透明背景画刷。具体在OnCtlColor中设置。
      

  4.   

    我的子窗口不是控件   只是一个createwindow出来的简单窗口  所以 onctlcolor不行吧?
    上面的layerdwindowattributes 我试试去