如何实现LabVIEW界面背景透明

LabVIEW程序自带的透明功能

LabVIEW自带的透明功能实现的是前面板整体透明度处理,我们可以通过VI 属性里面的外观属性进行配置,如下图所示:我们写一个简单程序,程序框图与前面板如下图所示:
在这里插入图片描述

在VI 属性里面的外观属性中自定义页面中配置透明度设置,如下图所示:
在这里插入图片描述

设置完成后,运行程序如下图所示:由于设置的50%的透明度,所以是半透明的前面板。
在这里插入图片描述

或者通过属性节点通过程序实时控制界面的透明度,如下图所示:实现功能是一样的,区别在于用属性节点的话,可以实现实时修改透明度的设置。
在这里插入图片描述

LabVIEW自带的透明度功能存在的缺陷在于它是对前面板的整体的透明度修改,无法实现对部分区域的进行透明化处理。

利用User32.dll实现透明功能

接下来我们介绍一种通过调用Windows系统自带的user32.dll函数库进行部分区域透明化处理。
程序框图如下:实现的功能是获取前面板背景色,然后通过user32.dll函数库中的SetLayeredWindowAttributs函数,对背景色部分进行透明处理。
在这里插入图片描述

由于这个处理过程需要对vi界面的边框隐藏掉,这个会影响窗口的移动,所以我们在程序后面新增了移动功能,也是用user32.dll函数库中的函数实现的。属性窗口如下图所示:
在这里插入图片描述

前面板如下图所示:运行前,我们可以看的前面板后面的遮住了程序框图;
在这里插入图片描述

运行后,如下图所示:此时我们看到背景区域全部透明了,控件或者修饰区域都是保留的,点击拖拽非透明部分,可以实现窗口的移动。
在这里插入图片描述

这里主要用的user32.dll中的函数功能实现的是在主界面里面对指定颜色进行透明处理,所以如果要对背景单独透明的话,我们可以将背景区域的颜色设置的比较特殊,避免出现同色值的其他区域也被透明了。这个区域划分是通过色值来确定的,所以只要色值比较合理,能实现的透明处理还是比较灵活的。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值