Ver Mensaje Individual
  #10  
Antiguo 09-10-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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); // o también: cdspalabra.Value:= IntToStr(i) 
    cds.Post;
  end;
end;

Luego le asociás el DataControl que más te convenga, DBLookupCombobox, TDBLookupListBox, DBGrid...

Saludos.

Última edición por ecfisa fecha: 09-10-2010 a las 10:29:58.
Responder Con Cita