|
本帖发表于 2016-10-17 15:39:29...阅读 334 人...加油,亲爱的楼主:[db:作者]
SetWindowLong(this->GetSafeHwnd(),
GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst = LoadLibrary("User32.DLL");
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
//取得SetLayeredWindowAttributes函数指针
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if(fun)
{
//fun(this->GetSafeHwnd(),0,129,2);
fun(this->GetSafeHwnd(),GetSysColor(COLOR_BTNFACE), 129, LWA_COLORKEY);
}
FreeLibrary(hInst);
}
使用以上方法实现半透明窗口时,
编译时输出如下:
error C2065: 'LWA_COLORKEY' : undeclared identifier
明明引入了相关的头文件:#include "WinUser.h",怎么还会提示'LWA_COLORKEY'未定义呢?
查看头文件件中的定义发现,是条件定义的问题;
在:#include "WinUser.h"之前添加:#define _WIN32_WINNT 0x0502
问题解决;
作者:csdn博客 微wx笑
返回栏目页:http://www.bianceng.cn/Programming/cplus/
|
|