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
问题解决;
LWA_COLORKEY undeclared identifier 的解决办法
最新推荐文章于 2023-04-23 18:30:10 发布