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

Magicloud 2005-12-11 09:11:21
如果使用ws_ex_transparent,则整个窗体都没法接受鼠标事件了;而setlayeredwindowattributes又不能实现多种颜色同时透明(或是我不知道……)……
如何实现窗体上某region(比如一个移动把手)不透明,而其它区域透明?
谢谢。
...全文
105 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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把其他地方透明掉不就完了?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧