实现PNG半透明的对话框 上面正常显示控件

tigerMayDo 2013-11-04 09:03:35
看了很多例子 都是2层窗口
难道一个对话框搞不定吗
求大侠指导
...全文
280 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-12-28
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
healer_kx 2013-11-26
  • 打赏
  • 举报
回复
那些DirectUI一般是这样做的,绘制子窗口的时候,调用绘制父窗口的函数进行绘制,你传给他子窗口的DC即可。 然后子窗口可以在Blend一张半透明的PNG作为遮罩。
点赞技师 2013-11-26
  • 打赏
  • 举报
回复
使用Setlayeredwindowattributes函数可以实现透明窗口。之前使用SetWindowLong函数,使窗口拥有WS_EX_LAYERED扩展属性。 Setlayeredwindowattributes函数的原型为 BOOL SetLayeredWindowAttributes( HWND hwnd, // handle to the layered window COLORREF crKey, // specifies the color key BYTE bAlpha, // value for the blend function DWORD dwFlags // action ); 其中 hWnd是透明窗体的句柄, crKey为掩码的颜色,可以用RGB(r,g,b)来指定。 bAlpha是不透明度,取值范围是(0,255),其中0代表全透明,255代表不透明。 dwFlags是透明方式,可以取两个值: 当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效; 当取值为LWA_COLORKEY时,窗体中的所有颜色为crKey的地方将变为透明,bAlpha参数无效。
zpzp0818 2013-11-26
  • 打赏
  • 举报
回复
控件做透明处理,然后取父窗口的背景
yangxuefeng09 2013-11-25
  • 打赏
  • 举报
回复
不懂帮顶
tigerMayDo 2013-11-25
  • 打赏
  • 举报
回复
没办法了 求教啊
泥鳅不是鱼 2013-11-05
  • 打赏
  • 举报
回复
MFC的 SKIN++
sumos 2013-11-04
  • 打赏
  • 举报
回复
有。Duilib 或 DirectUI。 基于句柄的方式实现不了,有的所谓的实现还是存在瑕疵。

15,980

社区成员

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

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