Ver Mensaje Individual
  #5  
Antiguo 16-04-2018
Delphi01 Delphi01 is offline
Miembro
 
Registrado: nov 2015
Ubicación: Barcelona,España
Posts: 68
Reputación: 9
Delphi01 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola Delphi01.


En realidad ListFieldIndex sirve para especificar que campo de la propiedad ListField se va a usar para la búsqueda incremental y no veo como podría ayudarte en este caso.

Pero a ver si ahora entendí lo que buscas y te sirve de este modo:
Código Delphi [-]
procedure LookupComboNextItem(LCB: TDBLookupComboBox);
  procedure VKeyPress(const aKey: Word);
  var
    ti: TInput;
  begin
    ZeroMemory(@ti, SizeOf(ti));
    ti.Itype      := INPUT_KEYBOARD;
    ti.ki.wVk     := aKey;
    ti.ki.dwFlags := 0;
    SendInput(1, ti, SizeOf(ti));
  end;
begin
  LCB.DropDown;
  VKeyPress(VK_DOWN);
  VKeyPress(VK_RETURN);
end;

Ejemplo de uso:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
  DBLookupComboBox1.SetFocus;
  LookupComboNextItem(DBLookupComboBox1);
end;
Sin embargo, el código solo simula el accionar de un usuario y no elude el echo de que el cursor del TDataSet asociado se desplace.

Saludos
Hola otra vez :
Muchas gracias ! ,
tengo el DBLookupComboBox con las lineas :
X1
x2
x3
x4...

yo he visto cuando escribo
DBLookupComboBox.keyvalue:='x1'; muestra 'X1'
y asi ..
DBLookupComboBox.keyvalue:='x2'; muestra 'X2'
DBLookupComboBox.keyvalue:='x1'; muestra 'X3'.......
eso quiere decir que el cursor de dataset se esta desplasando ?
yo no me importa si desplace o no lo importante cuando haga click en un button por ejemplo si esta mostrando 'X1' pasa amostrar 'X2' y asi ...next ...
saludos ..
Responder Con Cita