PDA

Ver la Versión Completa : Manejar ComboBox desde un Edit


Enan0
25-08-2011, 09:27:19
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:

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.