MFC设置窗口透明



SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE)|WS_EX_LAYERED);
SetLayeredWindowAttributes(RGB(1,1,1), 0, LWA_COLORKEY);

如果VC SDK版本过低,则使用:

    typedef  BOOL (WINAPI*LAYERFUNC)( HWND , COLORREF, BYTE, DWORD );
    LAYERFUNC   SetLayer;   
    HMODULE   hmod=LoadLibrary("user32.dll");   
    SetWindowLong( m_hWnd,GWL_EXSTYLE,GetWindowLong(m_hWnd,GWL_EXSTYLE)|0x80000L);   
    SetLayer=(LAYERFUNC)GetProcAddress(hmod,"SetLayeredWindowAttributes");   
    SetLayer(m_hWnd, RGB(1,1,1), 0, LWA_COLORKEY); FreeLibrary(hmod);

注意:该方法不能用在WS_CHILD风格的组件上 SetLayeredWindowAttributes 返回87(参数错误)



猜你喜欢

转载自blog.csdn.net/shaoyiju/article/details/80748135
今日推荐