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

如何在Delphi中使用WinAPI按名称查找组合框项的索引?,delphi,winapi,combobox,delphi-2009,Delphi,Winapi,Combobox,Delphi 2009,我有一个Delphi应用程序a,它需要在另一个Delphi应用程序B的组合框中选择某个项目 A知道要选择的组合框项的文本 为了选择组合框项目,应用程序A需要知道组合框中项目的索引 当我只知道一个组合框项目的文本时,如何计算它的索引 procedure TForm1.Button1Click(Sender: TObject); var SItem: string; begin SItem := 'Beta'; Caption := IntToStr(SendMessage(ComboB

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

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

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

当我只知道一个组合框项目的文本时,如何计算它的索引

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

使用CommCtrl
)。

您能告诉我CB_FINDSTRINGEXACT常量的值吗?或者是定义它的单位。@DmitriPisarenko:它在
消息中。但是对于记录:
CB_FINDSTRINGEXACT=$0158
而不是使用
integer(@SItem[1])
您应该强制转换为正确的类型,即LPARAM:
LPARAM(PChar(SItem))