Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Paso de un Edit a otro

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Paso de un Edit a otro Responder citando

Hola, estoy haciendo una aplicación pequeña en la que trato de actualizar una BD. A la hora de dar de alta un registro presento un form con todos los campos para que el usuario los rellene. Quiero hacer más "bonita" y práctica la presentación de forma que cuando este usuario rellene un campo (un Edit), y pulse la tecla de Intro avance al siguiente campo (siguiente Edit), ¿cómo puedo hacerlo?.
Gracias
Volver arriba
Mensaje    Asunto: Paso de un Edit a otro Responder citando

No es la mejor forma, pero si en el evento onExit del control, en este caso el Edit, activas el foco ...->SetFocus() del siguiente elemento que deseas que lo tenga, esta solución es bastante costosa, pero sirve en plan chorras, me suena que en alguna ocasión vi una mas sencilla...
Volver arriba
Mensaje    Asunto: Paso de un Edit a otro Responder citando

Pon esto en tus edits, y establece la propiedad TabOrder correctamente.

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

Volver arriba
Mensaje    Asunto: Paso de un Edit a otro Responder citando

Gracias esto era lo que yo quería, ya funciona bien
Volver arriba
Mensaje    Asunto: Responder citando

si pones dentro del evento OnKeyDown de los edits (seleccionas todos, y presionas doble click en, OnKeyDown, lo asignas para todos)

Código:

void __fastcall TFCLIENTES::DBEdit1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
switch(Key){
        case VK_UP:
            Key=0;
            Perform(WM_NEXTDLGCTL, 1, 0); // atraz
            break;
        case VK_DOWN:
            Key=0;
            Perform(WM_NEXTDLGCTL, 0, 0); // adelante
            break;
}
}

_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Saludos !

Si lo que quieres es que al precionar enter te mande al siguiente control lo que debes hacer es poner la propiedad KeyPreview de la forma en True y en el evento OnKeyDown de la forma (OJO, de la FORMA no de los edits) pones lo siguiente:

Código:

if (Key == VK_RETURN)
{
  Key = 0;
  Perform(WM_NEXTDLGCTL, 0, 0);
}


Tambien funcionaria si lo pones a los edits, pero tendrias que ponerle a cada edit el codigo o asigarle el evento que tiene este codigo a cada edit, de la otra manera, con el puro evento de la forma se hará todo!

Ciao!
_________________
Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.