求大神解决自绘的两个控件的叠放顺序问题

RuanYSU 2015-12-07 02:50:37
[b]需求是控件A始终显示在控件B前面。但是设置B控件SetWindowPos,hWndInsertAfter = HWND_BOTTOM,依然不管用,当B控件移动到的位置与A 控件位置重叠时,依然将A控件覆盖了。
...全文
218 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
RuanYSU 2016-04-25
  • 打赏
  • 举报
回复
解决了,问题在于B控件重绘时,又将A,B控件相交的部分遮住了。解决办法,需要将B控件设置 WS_CLIPSIBLINGS风格,WS_CLIPSIBLINGS(子窗口间相互裁减。也就是说当两个窗口相互重叠时,设置了WS_CLIPSIBLINGS样式的子窗口重绘时不能绘制被重叠的部分).http://www.cnblogs.com/helloj2ee/archive/2009/05/29/1491822.html
向立天 2016-03-19
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复多日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
worldy 2015-12-07
  • 打赏
  • 举报
回复
B控件不要设置,A控件使用HWND_TOPMOST
wjm1990 2015-12-07
  • 打赏
  • 举报
回复
视图里面的还是动态控件?视图里面有个简单的办法就是源代码将先后顺序调一下。动态控件BringWindowToTop这个函数。
赵4老师 2015-12-07
  • 打赏
  • 举报
回复
换个思路,让A控件调用SetWindowPos放在B控件上面。

15,980

社区成员

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

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