LabVIEW默认窗口采用的是Windows风格窗口,如下图所示Windows 7下的LabVIEW窗口样式。
现在即使是专业性较强的测控软件,对用户UI界面的要求也越来越高,千篇一律的Windows窗口样式难免让人产生审美疲劳,本文介绍一种自定义可移动窗口的设计,替换传统的Windows窗口样式。
打开VI属性,在Window Appearance(窗口外观)页面上,选择Custom(自定义),编辑窗口样式,如下图,隐藏Windows标题栏、滚动条,禁用用户关闭、调整、最小化窗口的选项,Windows Behavior设置成Floating(浮动)。
设置完成VI属性后,在VI前面板编辑自定义的窗口外观,demo案例采用装饰控件选板中的控件制作了一个扁平化的深蓝色窗口外框,并添加了窗口关闭的自定义boolean控件,如下图
将VI窗口大小调整至绘制的自定义窗口外框大小,可以查看窗口效果,简单的编辑就比默认的Windows窗口样式效果提升很多.
前三步只是完成了窗口外观样式,但这样的窗口还缺乏默认Windows窗口的一个重要功能——窗口移动功能。如何让自定义的窗口点击窗口标题栏达到默认Windows窗口的窗口移动功能呢?查询了相关资料,发现Use32.dll中包含的几个API可实现该功能。
a.首先,在自定义的窗口标题栏上放置一个透明的控件,demo中放置的是透明的字符串显示控件,可做窗口名称的显示。
b.然后,切换至程序框图界面,添加如下VI代码。代码的第一部分,是采用User32 API中的FindWindow通过名称获取窗口引用。第二部分,创建放置在自定义窗口的透明字符串显示控件的“Mouse Down(鼠标按下)”事件,并放置User32 API中的ReleaseCapture和SendMessageA函数并设置相关参数,参数含义可自行查阅函数说明,函数接口连接设置如下图。
编辑完成的VI自定义可移动窗口效果如下: