cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1144|回复: 3

生成透明面板报错???(附相关代码)

[复制链接]
发表于 2009-6-9 10:32:24 | 显示全部楼层 |阅读模式
本帖最后由 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
发表于 2009-6-9 12:20:16 | 显示全部楼层
刚才在我的机器上试了一下,没有产生任何错误。但是也没有任何效果——窗体根本没有变透明!
不知道是不是和操作系统有关:我自己用的是VIsta Ultimate sp1!
 楼主| 发表于 2009-6-10 00:06:51 | 显示全部楼层
斑竹大人,你运行的时候error=GetLastError();这个语句没有返回错误吗?我运行的时候error的数值是1400。表示错误为Invalid window handle.ERROR_INVALID_WINDOW_HANDLE,操作系统是win xp,windows/cvi 7.1
发表于 2009-6-10 09:03:32 | 显示全部楼层
没有任何错误,也没有任何效果!
OS:Windows Vista Ultimate sp1
CVI:8.5
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2025-5-5 18:55 , Processed in 0.463037 second(s), 6 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表