生成透明面板报错???(附相关代码)
本帖最后由 phantam_lf 于 2009-6-9 10:33 编辑如题。
我的代码是
#include<windows.h>
#include<winuser.h>
HMODULE hInst; //DLL句柄
SetWindowLong((HWND)allsumpanelHandle,GWL_EXSTYLE,GWL_USERDATA);
hInst = LoadLibrary("User32.DLL");
if(hInst!= NULL)
{
typedef BOOL (WINAPI *ShowLayer)(HWND,COLORREF,BYTE,DWORD);
ShowLayer fun=NULL;
fun=(ShowLayer)GetProcAddress(hInst,"SetLayeredWindowAttributes");
if(fun!= NULL)
if(!fun((HWND)allsumpanelHandle,255,127,LWA_ALPHA))
error=GetLastError();
else DisplayPanel (allsumpanelHandle);
FreeLibrary(hInst);
}
******************************************
1。首先抱错
Undeclared identifier 'LWA_ALPHA'
但是在winuser.h中是定义过的 #define LWA_ALPHA 0x00000002
2。error中的错误是
1400 Invalid window handle.ERROR_INVALID_WINDOW_HANDLE 刚才在我的机器上试了一下,没有产生任何错误。但是也没有任何效果——窗体根本没有变透明!
不知道是不是和操作系统有关:我自己用的是VIsta Ultimate sp1! 斑竹大人,你运行的时候error=GetLastError();这个语句没有返回错误吗?我运行的时候error的数值是1400。表示错误为Invalid window handle.ERROR_INVALID_WINDOW_HANDLE,操作系统是win xp,windows/cvi 7.1 没有任何错误,也没有任何效果!
OS:Windows Vista Ultimate sp1
CVI:8.5
页:
[1]