1

我有一个带有 TJvComboEdit 控件(来自 Jedi Visual Components library,jvcl)的表单。此控件有一个 AutoCompleteList,如果我将 AutoCompleteOptions 设置为 acoUpDownKeyDropsList,我可以在运行时通过按向上或向下键来显示此列表。

到目前为止,这很好,但除此之外,我希望控件的按钮也显示该列表(就像 TComboBox 按钮一样),但我找不到任何方法来做到这一点。列表的显示似乎是由一些内部 IAutoComplete Windows 界面完成的,该界面不公开用于显示列表的 api。

我错过了什么吗?或者有没有其他我可以使用的控件?(除了明显的 TComboBox)?

4

1 回答 1

2

使用TJvComboEdit和接口来实现自动完成功能,IAutoComplete并且IAutoComplete2无法手动调用它们的下拉列表。

您可以使用以下技巧将焦点设置为TJvComboEdit并模拟↓</kbd> key.

procedure TForm1.Button1Click(Sender: TObject);
begin
  if JvComboEdit1.CanFocus then
  begin
    JvComboEdit1.SetFocus;
    keybd_event(VK_DOWN, 0, 0, 0);
    keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
  end;
end;
于 2012-01-31T11:03:11.333 回答