如何使用Delphi中的WinAPI按名称查找组合框项的索引?

DP_*_*DP_ 3 delphi winapi combobox delphi-2009

我有一个Delphi应用程序A,它需要在另一个Delphi应用程序B的组合框中选择某个项目.

A知道要选择的组合框项的文本.

为了选择组合框项,应用程序A需要知道组合框中项的索引.

当我只知道它的文本时,我怎么能弄清楚组合框项目的索引?

And*_*and 8

procedure TForm1.Button1Click(Sender: TObject);
var
  SItem: string;
begin
  SItem := 'Beta';
  Caption := IntToStr(SendMessage(ComboBox1.Handle, CB_FINDSTRINGEXACT,
    -1, LPARAM(PChar(SItem))));
end;
Run Code Online (Sandbox Code Playgroud)

(uses CommCtrl).

  • 你应该转换为正确的LPARAM类型:`LPARAM(PChar(SItem)),而不是使用`integer(@SItem [1])` (3认同)