Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-11-2008
Lizette Lizette is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Lizette Va por buen camino
saber si se presionó Tabulador en un combobox

Hola, tengo un combobox validado, de tal manera q si presiona enter o tabulador y no hay nada dentro del combo, se anula la tecla y se queda dentro del combo, si el combo contiene algo, se brinca al siguiente edit con tabulador o enter. El caso es q con enter si funciona pero con tabulador no..

Código Delphi [-]

procedure TfrmProductoAdd.ComboClasKeyPress(Sender: TObject;
  var Key: Char);
begin
if (Length(ComboClas.Text)=0) and (Key<>Char(13))then
   Key:=Char(0);
 if ((Key=Char(13)) and (Length(ComboClas.Text)<>0)) then
 begin
  Key:=Char(0);
  EditLab.SetFocus;
 end;
end;

procedure TfrmProductoAdd.ComboClasKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (Length(ComboClas.Text)=0) and (Key<>9)then
   Key:=0;
 if ((Key=9) and (Length(ComboClas.Text)<>0)) then
 begin
  Key:=0;
  EditLab.SetFocus;
 end;  
end;
Responder Con Cita
  #2  
Antiguo 18-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Lizette, parece que con los eventos OnKeyPress, OnKeyDown no se detecta la tecla Tab, con el OnKeyUp mas o menos pero detecta cuando se ha echo Tab del otro control, lo que se me ocurre es que utilices ApplicationEvent y ahí detectes la tecla, sería algo así.

Código Delphi [-]
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
 if (Msg.message=WM_KEYDOWN) and (Msg.wParam=vk_tab) then
  if ActiveControl = ComboBox1 then //Si es el control es el ConboBo1
   if Trim(ComboBox1.Text)='' then //Si esta vacio
    ComboBox1.SetFocus; //Pero esta parte no funciona.
end;

Detecta la tecla, identifica al combobox, pero no funciona el SetFocus.
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 18-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo, acabo de hacer una pruebita y si funciona, al igual que se hace en los eventos OnKeyDown..., podemos anular la tecla con el 0, en vez del SetFocus, colocas esta linea.

Código Delphi [-]
 Msg.wParam := 0;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 19-11-2008
Lizette Lizette is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Lizette Va por buen camino
Gracias Caro
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Prioblemas con el tabulador Roky Impresión 1 03-03-2008 20:44:55
Cachar Tabulador AGAG4 Varios 8 15-09-2004 19:49:40
Identificar el Tabulador AGAG4 Varios 6 09-09-2004 11:26:09
Quiero saber como agregar una consulta de SQL a un combobox Julio César Varios 4 15-01-2004 13:47:44
saltos en tabulador. kwan Varios 3 09-01-2004 02:25:17


La franja horaria es GMT +2. Ahora son las 12:19:15.


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
Copyright 1996-2007 Club Delphi