如何让控件处于顶层,可以遮盖下方控件

fongzl 2008-11-17 08:05:16
当焦点落在CEdit中时,把一个CList移动到其下面,使用了SetWindowPos设置为顶层
m_list.SetWindowPos(&wndTopMost, rc1.left, rc1.top+20, 0, 0, SWP_NOZORDER|SWP_NOSIZE);

但是,鼠标移动到CList上时,下面的空间也可见,使界面花了,部分是CList部分是其遮盖的控件

请问如何避免这样的情况?
...全文
133 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fongzl 2008-11-24
  • 打赏
  • 举报
回复
大家都认为这样做是最好的方法吗?
我如果这样做好像不行,我的实际问题是:
焦点落在CEdit1中时,下面自动显示CList1,当CEdit1失去焦点时,CList1消失,然后CEdit2是下一个获得焦点的对象
在CEdit2不可见时,他不能够获得焦点吧,焦点自动移动到一个,是不是?
这样不行啊

只能从代码中把焦点放回来,真麻烦
用户 昵称 2008-11-18
  • 打赏
  • 举报
回复
hide那些控件不就行了?
路人乙2019 2008-11-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 evccode 的回复:]
楼上正解,未显示的,可以ShowWindow(SW_HIDE);
[/Quote]最好是这样了,通过显示和隐藏。
evccode 2008-11-18
  • 打赏
  • 举报
回复
楼上正解,未显示的,可以ShowWindow(SW_HIDE);
fongzl 2008-11-17
  • 打赏
  • 举报
回复
上面的方法都挺别扭,还有其他方法吗?
laomig 2008-11-17
  • 打赏
  • 举报
回复
把CEdit.ShowWindow(FALSE)不就行了
yuhudie203 2008-11-17
  • 打赏
  • 举报
回复
把Edit控件里面的Visible属性去掉试试
lwx300 2008-11-17
  • 打赏
  • 举报
回复
将CList下面的控件暂时Disable。

15,980

社区成员

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

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