Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Manejar ComboBox desde un Edit (https://www.clubdelphi.com/foros/showthread.php?t=75455)

Enan0 25-08-2011 09:27:19

Manejar ComboBox desde un Edit
 
Hola amigos, Bueno la consulta es la siguiente.

Como puedo hacer que cuando presiono las "Flechas" Arriba y Abajo, estando parado sobre un Tedit, pueda hacer que el se desplace el item seleccionado de un combo Box que se encuentra despleago, y al hacer Enter, Me seleccione el mismo.


Comentario:

Tengo un Tedit y debajo de el tengo un ComboBox, esto lo uso para simular el "ToolTip" que tiene como por ejemplo el Outlook, de que cuando empezas a tipear te salen las direcciones de Correo almacenadas.

En el Evento onChange del Tedit, Despliego y filtro el ComboBox, pero como es obvio estoy parado sobre El TEdit y no sobre el Combo, Me gustaria poder Caputar las Telcas "Arriba" y "abajo" para desplazarme por el Combo, como asi mismo el Enter para poder seleccionar el item.

Muchas Gracias.

ecfisa 25-08-2011 10:25:33

Hola Enan0.

Fijate si así te sirve:
Código Delphi [-]
procedure TForm1.EditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
  Msg: TMsg;
begin
  with ComboBox1 do
  begin
    case Key of
      VK_RETURN:begin
                  TEdit(Sender).Text:= Items[ItemIndex];
                  PeekMessage(Msg,0,WM_CHAR,WM_CHAR,PM_REMOVE); //quitar beep
                end;
      VK_DOWN: if ItemIndex < Items.Count-1 then
                 ItemIndex:= ItemIndex + 1;
      VK_UP: if ItemIndex > 0 then
                ItemIndex:= ItemIndex - 1;
    end;
  end;
end;

Saludos.

Enan0 25-08-2011 15:54:14

Gracias ecfisa por el aporte, la verdad que no habia pensado en Incrementar y decrementar el ItemIndex, la verdad es que me cegue queriendo pasar el VK_down / UP en vez de Resolver el problema de la forma mas logica posible.

Gracias lo pruebo y te comento

saludos.


La franja horaria es GMT +2. Ahora son las 02:40:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi