+ -
当前位置:首页 → 问答吧 → 下拉列表框假如下拉的列表盖住一个按钮。。。

下拉列表框假如下拉的列表盖住一个按钮。。。

时间:2011-12-26

来源:互联网

下拉列表框假如下拉的列表盖住一个按钮。。。那么,当鼠标在这个列表框上移动,但移动到底下的那个按钮的位置的时候,按钮就自动弹出来了。。

经试验,覆盖者为下拉列表框、下拉列表框的编辑框部分、列表框(listbox)都有这个问题;被覆盖者为按钮、list control、编辑框等等都有这个问题。只要是鼠标移动到,或者点击底下控件的位置,都会让底下的控件立刻显示或者响应点击消息。

我只是想点选一个列表项而已。。底下就不能有其它控件吗?请问这个问题怎么解决?谢谢!

作者: kniferlv0   发布时间: 2011-12-26

我在VC6下试了一下 没有你说的问题

作者: heksn   发布时间: 2011-12-26

不会吧(VC60),‘下拉列表框’有没有特殊的设置?自绘?透明?

作者: schlafenhamster   发布时间: 2011-12-26

谢谢佳宁。我试了一下,VC6效果真的好一点哦。不过你试试type为simple的,也就是简易风格的组合框,那就会看到这个问题了。

问题现在已经升级了,对于所有子窗口(比如自己动态创建一个),鼠标移动或点击该子窗口,只要那个移动或点击的位置在底层是存在另一个控件的话(按钮控件尤为明显),底层的控件就会作反应,甚至冒出来。

作者: kniferlv0   发布时间: 2011-12-26

引用 2 楼 schlafenhamster 的回复:
不会吧(VC60),‘下拉列表框’有没有特殊的设置?自绘?透明?


不特殊,没自绘,非透明。
我是用VC2008的。我说一下重现步骤吧——

1. 新建MFC对话框工程。
2. 在资源编辑器里给对话框添加一个按钮。
3. 再给对话框添加一个combobox,把type改为simple,把combobox移动到可以有部分遮盖住按钮。
4. 运行程序,当你的鼠标在combobox内移动,并且位置到达按钮所在的位置的时候,按钮就冒出来了。

作者: kniferlv0   发布时间: 2011-12-26

type为simple的是有这个问题,不过这种type的不常用,用LISTBOX不行吗?

作者: schlafenhamster   发布时间: 2011-12-26

引用 5 楼 schlafenhamster 的回复:
type为simple的是有这个问题,不过这种type的不常用,用LISTBOX不行吗?


listbox同样有这个问题,重现步骤和combobox一样。
VC6,鼠标移动没有问题,但是在按钮的位置区域点击鼠标,按钮冒出~~

作者: kniferlv0   发布时间: 2011-12-26

同样遇到这个问题,求解

作者: Becomly   发布时间: 2011-12-26