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(参数错误)