Windows Mobile实现透明控件
.NET Framework的WinForm程序支持支持調節(jié)控件的透明度和GDI+,用它可以實現例如淡入淡出這種很酷的界面效果。而.NET Compact Framework的窗體和控件不支持透明和GDI+,因此常常利用圖片來完成一些美觀的程序界面效果,這樣會使得程序包附帶了很多用于交替的圖片而體積變大。
今天看到了Windows Mobile 5.0/6上也有Alpha Blend API,可以用于實現一些透明的控件,如下圖所示:
?
心動了吧?
上面的demo程序來自 AlphaMobileControls?的開源項目,AlphaMobileControls提供了一些可以實現透明效果的簡單控件,如:AlphaLabel, AlphaPictureBox, AlphaImageButton 等,使用的時候必須將它們放到特殊的 AlphaPanel 或 AlphaForm 容器控件上。這套控件是通過封裝了從Windows Mobile 5.0開始提供的?Imaging API 和 AlphaBlend()?API 函數實現的,不能用在Windows Mobile 2003的程序上。另外,使用C/C++的朋友也可以參考相關的API,同樣可以實現這種透明效果。
關于實現Windows Mobile Alpha Blend的細節(jié),可以參考這篇文章:http://blogs.msdn.com/chrislorton/archive/2006/04/07/570649.aspx
另外,還有一種實現控件透明背景的方法,使用C/C++和API實現用畫背景的Pattern Brush來畫控件,產生效果如下:
這里不再多介紹,可以看原文:http://www.codeproject.com/KB/mobile/transparent_controls.aspx
轉載于:https://www.cnblogs.com/bobli/archive/2008/12/10/1352025.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Windows Mobile实现透明控件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vs2005之主题与皮肤的学习
- 下一篇: 培训是一种乐趣(3)