• Viernes 15 de Noviembre de 2024, 07:35

Autor Tema:  Uso Del Enter Como Si Fuera Tab En Campos Edit  (Leído 1599 veces)

Drache

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Uso Del Enter Como Si Fuera Tab En Campos Edit
« en: Sábado 15 de Abril de 2006, 09:52 »
0
Saludos, justo he encontrado algo que tenia tiempo causandome un dolor de muela.
No es un problema de programación en sí.
Es un problema de ergonomía para quienes usen el programa, en un formulario con varios campos Edit, quienes no saben de programación después de llenar el primer Edit presionan el "ENTER" para saltar al siguiente Edit

Esto ocaciona que el formulario se cierre, y si no hay un botón predeterminado como un BitBtn en kind de mrOk windows sencillamente emité un sonido molesto.

Pero ya he encontrado una manera de evitar esto, aqui esta el codigo probado en C++ Builder 5.0
Esto va en el evento de key press del Edit1:

Citar
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if(Key == VK_RETURN)
{Key=0;
PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);}
}

El Key=0 es para evitar el molesto sonido.
WM_NEXTDLGCTL esta orden es para pasar al siguiente objeto en el orden del TAB

VK_RETURN Corresponde a la tecla que se presiona, en este caso el ENTER ¿alguien sabe donde puedo encontrar una lista con el resto de las teclas?
Solo por curiosidad, en caso de necesitarlo algún dia  :D
Espero le sea útil a alguien más como lo es para mi, saludos

Drache

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Uso Del Enter Como Si Fuera Tab En Campos Edit
« Respuesta #1 en: Domingo 16 de Abril de 2006, 04:46 »
0
JOJOJO ya resolví esa duda que tenia, bueno, para quienes no sepan como yo  :lol:
aqui les dejo la información, espero les sea útil:

VK_F1 F1
VK_F2 F2
VK_F3 F3
VK_F4 F4
VK_F5 F5
VK_F6 F6
VK_F7 F7
VK_F8 F8
VK_F9 F9
VK_F10 F10
VK_F11 F11
VK_F12 F12
VK_SCROLL Scroll Lock
VK_SNAPSHOT Prt Scrn (Depends on keyboard)
VK_PAUSE Pause/Break
VK_TAB Tab
VK_BACK Backspace
VK_CAPITAL Caps Lock
VK_SHIFT Shift
VK_CONTROL Ctrl
VK_MENU Alt
VK_ESCAPE Escape
VK_RETURN Enter
VK_SPACE Space Bar
VK_INSERT Insert
VK_HOME Home
VK_PRIOR Page Up
VK_DELETE Delete
VK_END End
VK_NEXT Page Down
VK_UP Up Arrow Key
VK_RIGHT Right Arrow Key
VK_DOWN Down Arrow Key
VK_LEFT Left Arrow Key
VK_LWIN Left Windows Key
VK_RWIN Right Windows Key
VK_APPS Applications Key    

Estos son del Numeric Keypad

VK_NUMLOCK
Num Lock    
VK_NUMPAD0 0
VK_NUMPAD1 1
VK_NUMPAD2 2
VK_NUMPAD3 3
VK_NUMPAD4 4
VK_NUMPAD5 5
VK_NUMPAD6 6
VK_NUMPAD7 7
VK_NUMPAD8 8
VK_NUMPAD9 9
VK_DIVIDE /
VK_MULTIPLY *
VK_SUBTRACT -
VK_ADD +
VK_SEPARATOR  
VK_DECIMAL .