该方法使用在单文档、对话框(基于Dialog)中,多文档未试。
添加在窗口的OnInitDialog中即可。
//设置主窗口的透明度
SetWindowLong(m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE)^0x80000); //0x80000:WS_EX_LAYERED
HINSTANCE hInst = LoadLibrary("User32.DLL"); //显式加载DLL
if (hInst != NULL)
{
typedef BOOL (WINAPI *MYFUNC)(HWND, COLORREF, BYTE, DWORD);
//取得SetLayeredWindowAttributes函数指针
MYFUNC pFunc = (MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if (pFunc != NULL)
{
pFunc(m_hWnd, 0, 200, 2); // 2:LWA_ALPHA 200为透明度
}
FreeLibrary(hInst);
hInst = NULL;
}