 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
hetorsc Lt JG

Registrado: 11 Abr 2007Mensajes: 61
|
Publicado: Vie 22 Jun, 2007 12:28 pm Asunto: Problema con stringGrid y foco AYUDA!!! |
|
|
Bueno, resulta que tengo una aplicacion donde para pasar de un objeto a otro, en este caso edits y un StrinGrid, uso el intro como si fuera el tabulador.
El problema viene cuando llego a el StringGrid y quiero pasar por cada una de sus celdas tambien con el intro hasta el final de StringGrid.
El caso es que no lo consigo y cuando llego al StringGrid ,a su primera celda, al pulsar intro me sale del StringGrid en vez de pasar a la siguiente celda.
Hago esto:
| Código: |
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key == VK_RETURN)
{
Key=0;
Perform(WM_NEXTDLGCTL,0,0);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StringGrid1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key == VK_RETURN )
{
Key=VK_TAB;
}
}
|
Ademas me gustaria que hiciera esto pero que siempre que se seleccione una celda esté para editar, creo ke se hace con goAlwaysShowEditor en true;
He probado con Setfocus y focused(), pero nada.
El problema supongo que está en que sigue haciendo el FormKeyDown aunque esté en el StringGrid.
¿Habria alguna forma de hacer todo esto correctamente?
GRACIAS
Un Saludo |
|
| Volver arriba |
|
 |
Luis Anibal Lt


Registrado: 12 Nov 2002Mensajes: 84Ubicación: Santiago del Estero, Argentina
|
Publicado: Lun 25 Jun, 2007 11:25 pm Asunto: Pasar de un control a otro |
|
|
Amigo,
Nunca intente hacer lo que relatas en el problema, pero te quiero hacer llegar una consideracion que tal vez te ayude.
Cuando estas en un stringgrid, las teclas que usas para pasar de una celda a otra, son las flechitas, no el TAB.
Reitero, nunca hice lo que vos quieres hacer.
Espero que te sirva.
Luis Anibal Mendez _________________ Luis Anibal Mendez
Analisis, Programacion, Asesoramiento
luisanibalmendez@gmail.com |
|
| Volver arriba |
|
 |
Luis Anibal Lt


Registrado: 12 Nov 2002Mensajes: 84Ubicación: Santiago del Estero, Argentina
|
Publicado: Lun 25 Jun, 2007 11:40 pm Asunto: Flechitas |
|
|
Amigo,
Acabo de ver tu otro grito de AYUDA !!
En donde justamente tomas en cuenta lo que recien te relataba,
cambiar el VK_ENTER por VK_RIGHT en vez de VK_TAB. _________________ Luis Anibal Mendez
Analisis, Programacion, Asesoramiento
luisanibalmendez@gmail.com |
|
| Volver arriba |
|
 |
hetorsc Lt JG

Registrado: 11 Abr 2007Mensajes: 61
|
Publicado: Mie 04 Jul, 2007 10:26 am Asunto: |
|
|
ya lo intente asi y no funciona. Solo me funciona en el StrinGrid, si quito este codigo del form :
| Código: |
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key == VK_RETURN)
{
Key=0;
Perform(WM_NEXTDLGCTL,0,0);
}
}
|
pero entonces no consigo el resultado deseado.
Lo que quiero es que con el intro pase de edit en edit en el form y despues pase al StrinGrid, y una vez dentro del StrinGrid haga lo mismo de celda en celda hasta el final de este.
Uso Key=VK_TAB en vez de VK_RIGHT porque asi al final de cada fila me pasa a la de abajo y con VK_RIGHT al final de cada fila se queda ahi.
Alguien me sacaria de la duda?
GRACIAS |
|
| Volver arriba |
|
 |
hetorsc Lt JG

Registrado: 11 Abr 2007Mensajes: 61
|
Publicado: Mie 04 Jul, 2007 12:01 pm Asunto: |
|
|
Ya lo he solucionado.Era más facil de lo que parecia.
Lo que he hecho es que en vez de poner
| Código: |
if (Key == VK_RETURN)
{
Key=0;
Perform(WM_NEXTDLGCTL,0,0);
}
|
en el evento KeyDown del form como hacía, lo he puesto en el evento Keydown de cada uno de los Edits y ComboBoxs del form y
| Código: |
if (Key == VK_RETURN )
{
Key=VK_TAB;
}
|
en el evento KeyDown del stringGrid.
Bueno gracias por la atención.
un saludo |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|