DSkinLite 界面库使用技巧(二): 窗口控件透明效果
界面设计中,很多效果需要借助透明效果来实现。不幸的是,Windows 标准控件基本不支持透明效果。因此我们需要自己来实现透明效果。一般来说所谓控件透明,在技术实现方面,需要在子窗口绘制背景之前,先将父窗口相应区域的图像绘制在子窗口的DC上。CodeProject也有很多这方面的示例,但是这些示例都是不完整的,没有用一种统一的方案来彻底解决子窗口透明的问题。例如:如果父窗口的背景变化了,窗口大小改变了,需要透明的子窗口也需要重新绘制。而且需要控制时机,控制效率,不然会出现闪烁等问题。
原文地址 http://www.uieasy.cn/blog/?p=119
DSkinLite界面库在设计时就充分考虑到控件透明等特效。因此使用DSkinLite界面库可以高效,简洁地实现控件透明效果,可以对几乎所有控件包括子对话框实现透明效果。
-
DSkinLite界面库支持的透明控件类型
Static
Button( push button, check button, radio button)
Progress control
Slider control
Animation
ToolBar
Child dialog
Edit control -
在XML中设置控件透明
DSkinLite界面库中添加控件透明效果很简单,只需要在控件的XML描述中添加transparent 属性即可。即设置“property”属性btransparent=“true”即可。
Edit 控件:borderwidth="2" style="hole" />
Button控件:
子窗口(Child dialog):
width="300" height="23" textcolor="RGB(0,0,0)" />
borderwidth="2" fillcolor="RGB(255,255,255)" style="hole" />
下图为透明控件效果:
DSkinLite界面开发团队将继续向更多的控件中添加透明属性,如List Box, ListCtrl, TreeCtrl等。