如何实现特定区域不透明?

Magicloud 2005-12-11 09:11:21
如果使用ws_ex_transparent,则整个窗体都没法接受鼠标事件了;而setlayeredwindowattributes又不能实现多种颜色同时透明(或是我不知道……)……
如何实现窗体上某region(比如一个移动把手)不透明,而其它区域透明?
谢谢。
...全文
71 点赞 收藏 4
写回复
4 条回复
Magicloud 2005年12月12日
pomelowu的第一种方法会使不是这种颜色的地方无法不接受鼠标事件……
第二种方法不能方便的处理rgn之外的图像啊……
starswu的方法是不是不好做和普通窗口一样的移动效果?

我是想在桌面上做半透明不遮挡鼠标事件的便签窗口,但又需要有一点点地方不透明,以便移动……
回复 点赞
StarsWu 2005年12月11日
新建一个窗口,父窗口设置成桌面窗口,这个窗口就不受你以前创建的窗口的限制,就不会是透明的,然后利用窗口间消息传递过去。
回复 点赞
pomelowu 2005年12月11日
另外,常见的异形窗口的做法是利用Rgn来处理的:
http://www.yesky.com/SoftChannel/72342371928702976/20040423/1791055.shtml
回复 点赞
pomelowu 2005年12月11日
你把除了把手以外的其他地方设为一种颜色,然后用SetLayeredWindowAttributes把其他地方透明掉不就完了?
回复 点赞
发动态
发帖子
界面
创建于2007-09-28

7973

社区成员

11.5w+

社区内容

VC/MFC 界面
社区公告
暂无公告