如何让对话框透明,而对话框上的控件不透明?

webphoenix 2010-11-24 04:25:30
如题。

最近写个工具有这样一个需求,如何让对话框透明,而对话框上的输入框、按钮不透明?

...全文
233 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
libinfei8848 2010-11-27
  • 打赏
  • 举报
回复
对话框和上面的空间都是独立的,分别设置属性不能达到你的效果?
tzxx 2010-11-27
  • 打赏
  • 举报
回复
我参考这篇文章做过一个。
http://www.codeproject.com/KB/dialog/PerfectTranlucentDlg.aspx
webphoenix 2010-11-27
  • 打赏
  • 举报
回复
谢谢大家,我在codeproject上找了几个
eduyu 2010-11-27
  • 打赏
  • 举报
回复
用SetWindowRgn函数。
做一个Rgn,刚好能囊括所有控件,这样,窗口就只会显示控件所在的区域。
LayeredWindow是全透明,控件也不会例外。不过用个layeredwindow做底层,设个半透明,效果会漂亮不少。就像Google desktop里的gadget一样。
yann2 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 vc_zsy 的回复:]

这个比较纠结~~需要两个窗口才能实现你这个效果
下面一层是窗口的透明 使用函数UpdateLayeredWindow
上面一层是窗口控件的显示 使用SetLayeredWindowAttributes
[/Quote]

正解,LZ也可以看看我回的别的一个帖子

http://topic.csdn.net/u/20101125/09/ba35fc29-3958-4f9e-92e7-83673ecaebb1.html?81840
kintar_chu 2010-11-25
  • 打赏
  • 举报
回复
其实你给窗体弄一个纯色背景.你把颜色透明掉就行了.透明度也可设置...
控件的颜色不要弄成那样的就行了.
VC_ZSY 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ionstorm2 的回复:]

晕了,vc6的话把对话框的属性设置透明勾上,把对应控件的属性Transparent也给勾上,负负得正不就成了?
[/Quote]
有才,这样是全透明了~~估计不是他要的效果吧
VC_ZSY 2010-11-24
  • 打赏
  • 举报
回复
这个比较纠结~~需要两个窗口才能实现你这个效果
下面一层是窗口的透明 使用函数UpdateLayeredWindow
上面一层是窗口控件的显示 使用SetLayeredWindowAttributes
Ionstorm2 2010-11-24
  • 打赏
  • 举报
回复
晕了,vc6的话把对话框的属性设置透明勾上,把对应控件的属性Transparent也给勾上,负负得正不就成了?
dubiousway 2010-11-24
  • 打赏
  • 举报
回复
我觉得,这样要求的话,就不要用对话框了。
而把上面的输入框,按钮 等,都用 create 建立。并固定调整好他们之间的相对位置。每次需要的时候,把他们一个个按照相对位置 show出来。这样也算透明了吧。-_-

15,979

社区成员

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

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