Hola.
El único modo que se me ocurre es que te crees un descendiente de TComboBox y redefinas el evento
OnCloseUp, bastante complicado...
Si sólo deseas que se despliegue el combo cuando tiene el foco, podés hacer:
Código Delphi
[-]
ComboBox1.Perform(CB_SHOWDROPDOWN, 1,0);
Pero se te va a replegar cuando lo pierda.
Es muchísimo más sencillo como sugirió roman.
Ponés un TClientDataSet hacés doble click sobre el componente y en el editor de campos -> botón derecho del mouse -> new field.
Le das un nombre, tipo string y la longitud que desees.
Ejemplo de carga: ( 'palabra' es el nombre del campo en el ejemplo )
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
cds.CreateDataSet;
cds.Open;
for i:= 1 to 86000 do
begin
cds.Append;
cds.FieldByName('palabra').Value:= IntToStr(i); cds.Post;
end;
end;
Luego le asociás el DataControl que más te convenga, DBLookupCombobox, TDBLookupListBox, DBGrid...
Saludos.