sólo quería poner el método que propone Román
Código:
function TCustomComboBox.SelectItem(const AnItem: String): Boolean;
var
Idx: Integer;
ValueChange: Boolean;
begin
if Length(AnItem) = 0 then
begin
Result := False;
ItemIndex := -1;
Change;
exit;
end;
Idx := SendMessage(Handle, CB_FINDSTRING, -1, LongInt(PChar(AnItem)));
Result := (Idx <> CB_ERR);
if not Result then exit;
ValueChange := Idx <> ItemIndex;
SendMessage(Handle, CB_SETCURSEL, Idx, 0);
if (Style in [csDropDown, csSimple]) then
begin
Text := AnItem + Copy(Items[Idx], Length(AnItem) + 1, MaxInt);
SendMessage(Handle, CB_SETEDITSEL, 0, MakeLParam(Length(AnItem), Length(Text)));
end
else
begin
ItemIndex := Idx;
FFilter := AnItem;
end;
if ValueChange then
begin
Click;
Select;
end;
end;
Lo que no entiendo es por qué no hacen públicos este tipo de métodos!!