Ver Mensaje Individual
  #4  
Antiguo 08-01-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por odiseeus Ver Mensaje
gracias, .... me sirvió de guía pero me encantaría saber un poco mas exacto como puedo anular el tab como cambio de foco entre los componentes.. gracias.
Hola.

En este ejemplo, anulo la tecla Tab como generadora del cambio de foco y le doy esta función a la tecla F2.

Unit1.h:
Código:
...
private:	
  TMessageEvent OldMessageEvent;
  void __fastcall ApplicationMessage(tagMSG &msg, bool &handled);
...
Unit1.cpp:
Código:
...
void __fastcall TForm1::ApplicationMessage(tagMSG &msg, bool &handled)
{
  if (msg.message == WM_KEYDOWN)
    switch (msg.wParam) {
      case VK_TAB  : handled = true; break;   // TAB
      case VK_F2: msg.wParam = VK_TAB; break; // F2 = TAB
    }
}


void __fastcall TForm1::FormCreate(TObject *Sender)
{
  OldMessageEvent = Application->OnMessage;
  Application->OnMessage = ApplicationMessage;
}

//...

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
 Application->OnMessage = OldMessageEvent;
}
...
Podes asignar el comportamiento a otra tecla, o a ninguna como en este código:
Código:
void __fastcall TForm1::ApplicationMessage(tagMSG &msg, bool &handled)
{
  if (msg.message  == WM_KEYDOWN && msg.wParam == VK_TAB)
    handled = true;
}
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita