在Delphi 7上退出ComboBox的问题

在Delphi 7上退出ComboBox的问题,delphi,combobox,event-handling,focus,onmouseout,Delphi,Combobox,Event Handling,Focus,Onmouseout,我刚刚注意到ComboBox组件的一个奇怪行为。我用的是DropDownList风格。如果我点击它,它会像往常一样下拉项目列表。但是,如果我单击表单上的其他组件,组合框将不允许我离开它,除非我选择其中一个项目。我想添加onmouseleave事件,但在这种情况下,即使我将鼠标稍微移出组合框区域,它也会关闭,这是不可取的。我想看到的是,每当我点击组合框区域之外的某个地方时,组合框就会失去焦点。这可能吗?事实上,我只是做了你做的事情:启动一个新的应用程序,抛出ComboBox和TEdit。运行程序。

我刚刚注意到ComboBox组件的一个奇怪行为。我用的是DropDownList风格。如果我点击它,它会像往常一样下拉项目列表。但是,如果我单击表单上的其他组件,组合框将不允许我离开它,除非我选择其中一个项目。我想添加onmouseleave事件,但在这种情况下,即使我将鼠标稍微移出组合框区域,它也会关闭,这是不可取的。我想看到的是,每当我点击组合框区域之外的某个地方时,组合框就会失去焦点。这可能吗?

事实上,我只是做了你做的事情:启动一个新的应用程序,抛出ComboBox和TEdit。运行程序。它会像您单击时所说的那样从列表中下拉。另外,当我点击TEdit时,组合框会按预期自动关闭。所以,我不知道你的程序有什么问题。

这是正常的行为;我怀疑您自己(或第三方)的一些代码阻止了它。我也这么认为,然后我打开了一个新的应用程序。把一个盒子放在上面。我将ComboBox样式更改为DropDownList,向其中添加了几个项目,然后运行应用程序。问题仍然存在。每当我点击CB时,它就会下降,然后如果我点击编辑,焦点仍然在combobox上。我只是在Delphi 6中这样做(因为我不相信你),它的行为与预期的一样。看起来这个程序在其他计算机上的行为是正确的。我的配置可能有问题。我仍然不知道是什么导致了这种行为。