Windows Mobile上异形窗口的实现
2010-04-15 15:59
295 查看
PC上的常用的软件,如搜狗输入法、金山词霸,都用到了一些异形窗口,配合皮肤的展示
![](http://www.devdiv.net/blog/attachment/201004/15/9241_12713188590mWo.jpg)
![](http://www.devdiv.net/blog/attachment/201004/15/9241_12713188591ZIn.jpg)
Windows Mobile上也可以实现类似效果
![](http://www.devdiv.net/blog/attachment/201004/15/9241_1271318863xnZd.jpg)
![](http://www.devdiv.net/blog/attachment/201004/15/9241_1271318863QXx0.jpg)
在实现过程中,比较重要的函数有CreateRectRgn、CombineRgn、SetWindowRgn等。对于一张图片,指定一种透明色,可以用抠像素的方法,来组合Region。可以对HDC句柄使用GetPixel来获取像素值;也可以分析Bitmap的结构来获取。在逐行或逐列扫描时,可以对CombineRgn的过程进行优化。当SetWindowRgn后,窗口只显示Region部分的背景,其他区域将透明,甚至鼠标操作能穿透。
![](http://www.devdiv.net/blog/attachment/201004/15/9241_12713188590mWo.jpg)
![](http://www.devdiv.net/blog/attachment/201004/15/9241_12713188591ZIn.jpg)
Windows Mobile上也可以实现类似效果
![](http://www.devdiv.net/blog/attachment/201004/15/9241_1271318863xnZd.jpg)
![](http://www.devdiv.net/blog/attachment/201004/15/9241_1271318863QXx0.jpg)
在实现过程中,比较重要的函数有CreateRectRgn、CombineRgn、SetWindowRgn等。对于一张图片,指定一种透明色,可以用抠像素的方法,来组合Region。可以对HDC句柄使用GetPixel来获取像素值;也可以分析Bitmap的结构来获取。在逐行或逐列扫描时,可以对CombineRgn的过程进行优化。当SetWindowRgn后,窗口只显示Region部分的背景,其他区域将透明,甚至鼠标操作能穿透。
相关文章推荐
- Windows Mobile上异形窗口的实现
- 用VC++实现异形窗口.
- 【win32】最简单的异形窗口实现
- c++下实现异形窗口(上方只显示文字其他区域穿透,下方半透明)
- Windows Mobile上实现可拖动的窗口
- DUILIB异形窗口实现
- DUILIB异形窗口实现
- (转)xp下实现窗体透明特效/异形窗口SetLayeredWindowAttributes函数
- Windows Mobile上实现可拖动的窗口
- [用UpdateLayeredWindow实现任意异形窗口]
- 用VC++实现异形窗口.
- VC++实现窗口异形
- QT透明和半透明窗口实现,QT异形窗口实现
- 窗口界面编程之一:VB实现简单异形窗口
- qt实现异形窗口
- 使用分层窗口及透明png图片实现一个异形窗口
- 在MFC和WinForm中分别实现超酷的半透明异形窗口
- [MFC] WS_EX_LAYERED 实现透明异形窗口(酷狗歌词、360加速球、窗口边缘阴影)
- VC++实现窗口异形
- Windows Mobile上实现可拖动的窗口