Ver Mensaje Individual
  #1  
Antiguo 10-09-2013
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Reputación: 21
santiago14 Va por buen camino
Question Autocompletar en TEdit

Buenas, estoy buscando la forma de hacer el autocompletado de un TEdit.
Lo cuento en detalle.
Ya he logrado usar la librería de Windows "Shlwapi.dll" pero a medias.

Cuando estoy en la caja de texto y presiono algunas teclas me hace el autocompletado, pero de cosas que ya hay guardadas en algún lugar del S.O. Esto está bien y es una parte de lo que quiero hacer. Vale recordar que se va llenando con textos que se le cargan, digamos, desde el IE.

Lo que quiero ahora es que también "memorice" lo que yo le pongo en mi caja de texto para que en una próxima intervención también sea parte de la lista.

Un poco de código:

Código Delphi [-]
//...
function SHAutoComplete(hwndEdit: HWnd; dwFlags: DWORD): HResult; stdcall; external 'Shlwapi.dll';

//...

const
  SHACF_AUTOSUGGEST_FORCE_ON = $10000000;
  SHACF_AUTOSUGGEST_FORCE_OFF = $20000000;
  SHACF_AUTOAPPEND_FORCE_ON = $40000000;
  SHACF_AUTOAPPEND_FORCE_OFF = $80000000;
  SHACF_DEFAULT = $0;
  SHACF_FILESYSTEM = $1;
  SHACF_URLHISTORY = $2;
  SHACF_URLMRU = $4;

//...

procedure TfrmPrincipal.FormCreate(Sender: TObject);
var
  Options: dWord;
begin
//...

  Options := SHACF_FILESYSTEM or SHACF_URLHISTORY or SHACF_URLMRU or
    SHACF_AUTOSUGGEST_FORCE_ON or SHACF_AUTOAPPEND_FORCE_ON;
  SHAutoComplete(txtAuto.Handle, Options);

end;

//...

Mi caja de texto "txtAuto" funciona como lo he mencionado, mientras escribo me va haciendo sugerencias de lo que tiene guardado en algún lugar.
Si pongo ms ya me sugiere msconfig, este comportamiento es conocido.
Ahora pongo "santiago", esta palabra no está registrada aún por lo cual no me hace sugerencia. Lo que quiero es registrarla para que la próxima vez ya me la ponga como parte de las sugerencias. O sea, pongo "sa" y ya tenga "santiago" en la lista que aparece.

Espero haber sido claro.

Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita