Delphi Firemonkey-组合框在鼠标位置高亮显示项目

Delphi Firemonkey-组合框在鼠标位置高亮显示项目,delphi,combobox,firemonkey,onmouseover,Delphi,Combobox,Firemonkey,Onmouseover,几乎每个应用程序都会在当前鼠标位置突出显示组合框的项 在Firemonkey中,Embarcadero改变了这种行为 图1: 在这种情况下,应该突出显示ListBoxItem3,但不是 然后我选择了ListBoxItem2,并再次打开组合框 图2: ListBoxItem2保持被选中状态,即使ListboxItem4应该被选中 如您所见,我在本例中使用的是TListBox项 在样式本中,我添加了一个新的样式对象(一个蓝色矩形)和一个TFloatAnimation,这样我就可以添加一个“假”选

几乎每个应用程序都会在当前鼠标位置突出显示组合框的项

在Firemonkey中,Embarcadero改变了这种行为

图1:

在这种情况下,应该突出显示ListBoxItem3,但不是

然后我选择了ListBoxItem2,并再次打开组合框

图2:

ListBoxItem2保持被选中状态,即使ListboxItem4应该被选中

如您所见,我在本例中使用的是TListBox项

在样式本中,我添加了一个新的样式对象(一个蓝色矩形)和一个TFloatAnimation,这样我就可以添加一个“假”选择

但遗憾的是,它没有起作用

图3:

因此,我花了相当长的时间试图找出如何在鼠标移动时选择组合框的项目,现在我来了


有人知道实现这一点的方法吗?

这是新版本(从X3开始)引入的新行为,您可以设置
DropDownKind=ddkCustom
(默认值ddkNative)来模拟旧行为


请注意使用Custom作为DropDownKind,您会获得一种与前一种稍有不同的行为,因为它会立即设置itemIndex属性值,但这应该不是一个大问题…

如果这听起来像一个bug,我建议您报告它。感谢您做到了这一点。将DropDownKind更改为Custom还可以使样式本动画正常工作!