LabVIEW实现窗口置顶与透明显示.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LabVIEW实现窗口置顶与透明显示

LabVIEW?实现窗口置顶与透明显示 laiping? 2008-8-10 摘要: 本文介绍了如何在LabVIEW?实现窗口置顶与透明显示。 ? 关键字: LabVIEW、API、窗口置顶、透明显示 ? 1.窗口置顶与透明显示功能简单介绍 窗口置顶是指运行程序窗口处于屏幕的最前端显示,即屏幕Z序的顶层窗口,位于其它窗口之上。 透明显示是指窗口以一定的透明度显示,可以查看被窗口覆盖下的内容。 ? 2.相关API Labview的VI属性节点Is Frontmostf无法实现窗口置顶功能,无相关VI直接控制窗口置顶与透明显示,所以要实现此功能得调用相关Windows API。主要使用到以下二个API: SetLayeredWindowAttribute?、SetWindowPos。 2.1 Public Declare Function SetLayeredWindowAttributes Lib user32 (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long 参数说明: Hwnd:是透明窗体的句柄 crKey:为颜色值,//?掩码的颜色,可以用RGB(r,g,b)来指定 bAlpha:是透明度,取值范围是[0,255] dwFlags:是透明方式,可以取两个值: 当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效; 当取值为LWA_COLORKEY时,窗体中的所有颜色为crKey的地方将变为透明,bAlpha参数无效。 LWA_ALPHA = 0x2 LWA_COLORKEY = 0x1 也可以取两个值的组合:LWA_ALPHA Or LWA_COLORKEY。这样crKey的地方将变为全透明,而其它地方根据bAlpha参数确定透明度。 要使使窗体拥有透明效果,首先要有WS_EX_LAYERED扩展属性。(旧的sdk没有定义这个属性,所以可以直接指定为0x80000)。 2.2 Declare Function SetWindowPos Lib user32 Alias SetWindowPos (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long 这个函数能为窗口指定一个新位置和状态。它也可改变窗口在内部窗口列表中的位置。返回值:Long,非零表示成功,零表示失败。 参数说明: hwnd:欲定位的窗口 hWndInsertAfter:窗口句柄。在窗口列表中,窗口hwnd会置于这个窗口句柄的后面。也可能选用下述值之一: 0:将窗口置于Z序列的顶部;Z序列代表在分级结构中,窗口针对一个给定级别的窗口显示的顺序 -1:将窗口置于列表顶部,并位于任何最顶部窗口的前面 -2:将窗口置于列表顶部,并位于任何最顶部窗口的后面 x:窗口新的x坐标。如hwnd是一个子窗口,则x用父窗口的客户区坐标表示 y:窗口新的y坐标。如hwnd是一个子窗口,则y用父窗口的客户区坐标表示 cx:指定新的窗口宽度 cy:指定新的窗口高度 wFlags:可以是下面一个值或几个数值的和: H1:不改变大小 H2:不改变位置 H4:不改变Z序列(忽略?hWndInsertAfter?参数) H10:不激活窗体 H40:显示窗体 H80:隐藏窗体 注解:窗口成为最顶级窗口后,它下属的所有窗口也会进入最顶级。一旦将其设为非最顶级,则它的所有下属和物主窗口也会转为非最顶级。Z序列用垂直于屏幕的一根假想Z轴量化这种从顶部到底部排列的窗口顺序。 ? 3.在LabVIEW实现窗口置顶与透明显示步骤 3.1获取当前窗口句柄 要使窗口置顶与透明显示,首先得获取当前窗口句柄,方法是调用Windows API函数FindWindowA,其原型为 HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName) IpClassName?:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobafAddAtom函数产生的全局成员。该成员为16位,必须位于IpClassName的低?16位,高位必须为?0。 IpWindowName:指向一个指定了窗口名(窗口标题)的空结束字符串。如果该参数为空,则为所有窗口全匹配。 返回值:如果函数成功,返回值为具有指定类名和窗口名的窗

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档