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 

Llamar al evento KeyUp en un TEdit

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Llamar al evento KeyUp en un TEdit Responder citando

¿Como le pasaría el parámetro TShifState si tengo que llamar "a capón" al evento OnKeyUp de un TEdit?
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Re: Llamar al evento KeyUp en un TEdit Responder citando

Angel escribió:
¿Como le pasaría el parámetro TShifState si tengo que llamar "a capón" al evento OnKeyUp de un TEdit?


ufff, no he pillado ni una

saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Re: Llamar al evento KeyUp en un TEdit Responder citando

bosoft escribió:
ufff, no he pillado ni una

Me he explicado mal.
Tengo un código en el que me hace falta llamar a este evento al salir de un formulario de ayuda:
Código:
fSelSoc->Lista->Items->Item[0]->Selected = true;
fSelSoc->Lista->Selected->MakeVisible(true);

fSelSoc->ShowModal();

Socio->Text     = "";
Apellidos->Text = "";
Nombre->Text    = "";
if (fSelSoc->pSelItem != NULL)
{
          Socio->Text     = fSelSoc->pSelItem->SubItems->Strings[1];
          Apellidos->Text = fSelSoc->pSelItem->Caption.SubString(1, fSelSoc->pSelItem->Caption.Pos(",") - 1);
          Nombre->Text    = fSelSoc->pSelItem->Caption.SubString(fSelSoc->pSelItem->Caption.Pos(",") + 1, fSelSoc->pSelItem->Caption.Length()).Trim();
}
ApellidosKeyUp(NULL, 32, cShift);

Cuando vuelvo de ese formularia fSelSoc (que contiene un TListView), si no vuelve seleccionado unh ítem (pSelItem) debe inhabiltarse un botón y eso lo verifico en ese OnKeyUp.
Código:
void __fastcall TForm1::Edit1KeyUp(TObject *Sender, WORD &Key, TShiftState Shift)

Con los dos primeros parámetros no tengo problema: le paso NULL en el TObject y 32 (espacio vacío) en Word; pero ¿como le paso TShiftState?

Ese cShift que está ahí está declarado como unsigned char y valor nulo ('\0'); al compilar me da dos errores en esa llamada:
    E2034 Cannot convert 'unsigned char' to 'TShiftState'
    E2342 Type mismatch in parameter 'Shift' (wanted 'TShiftState', got 'unsigned char')

Ese es el problema que tengo. Por más que he mirado la ayuda del evento no comprendo como hacer la llamda.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Re: Llamar al evento KeyUp en un TEdit Responder citando

Angel escribió:
bosoft escribió:
ufff, no he pillado ni una

Me he explicado mal.
Tengo un código en el que me hace falta llamar a este evento al salir de un formulario de ayuda:
Código:
fSelSoc->Lista->Items->Item[0]->Selected = true;
fSelSoc->Lista->Selected->MakeVisible(true);

fSelSoc->ShowModal();

Socio->Text     = "";
Apellidos->Text = "";
Nombre->Text    = "";
if (fSelSoc->pSelItem != NULL)
{
          Socio->Text     = fSelSoc->pSelItem->SubItems->Strings[1];
          Apellidos->Text = fSelSoc->pSelItem->Caption.SubString(1, fSelSoc->pSelItem->Caption.Pos(",") - 1);
          Nombre->Text    = fSelSoc->pSelItem->Caption.SubString(fSelSoc->pSelItem->Caption.Pos(",") + 1, fSelSoc->pSelItem->Caption.Length()).Trim();
}
ApellidosKeyUp(NULL, 32, cShift);

Cuando vuelvo de ese formularia fSelSoc (que contiene un TListView), si no vuelve seleccionado unh ítem (pSelItem) debe inhabiltarse un botón y eso lo verifico en ese OnKeyUp.
Código:
void __fastcall TForm1::Edit1KeyUp(TObject *Sender, WORD &Key, TShiftState Shift)

Con los dos primeros parámetros no tengo problema: le paso NULL en el TObject y 32 (espacio vacío) en Word; pero ¿como le paso TShiftState?

Ese cShift que está ahí está declarado como unsigned char y valor nulo ('\0'); al compilar me da dos errores en esa llamada:
    E2034 Cannot convert 'unsigned char' to 'TShiftState'
    E2342 Type mismatch in parameter 'Shift' (wanted 'TShiftState', got 'unsigned char')

Ese es el problema que tengo. Por más que he mirado la ayuda del evento no comprendo como hacer la llamda.

Y si lo declaras
Código:
TShiftState cShift;

Ahora no puedo, pero prometo hacer unas pruebas si no lo has resuelto tu antes

Saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Esto últimoo lo había probado; no se me ocurrió.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Angel escribió:
Esto últimoo lo había probado; no se me ocurrió.

no me queda claro si lo habías probado. ¿falta la n o sobra la o? Shocked
Me queda claro que no se te había ocurrido. Laughing

¿te funciona?

saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

bosoft escribió:
Angel escribió:
Esto últimoo lo había probado; no se me ocurrió.

no me queda claro si lo habías probado. ¿falta la n o sobra la o? Shocked
Me queda claro que no se te había ocurrido. Laughing

¿te funciona?

saludos

Falta un espacio y una n; el maldito corrector del tablet. No he podido probarlo todavía; ya te diré.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

¿Que valores quieres darle a TShiftState?

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

escafandra escribió:
¿Que valores quieres darle a TShiftState?

Da lo mismo; me haría falta sólo para poder llamara al evento desde otro sitio. Tal vez lo mejor sería ssShift.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Código:
Edit1KeyDown(0, VK_F1, TShiftState()<<ssShift);


Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

escafandra escribió:
Código:
Edit1KeyDown(0, VK_F1, TShiftState()<<ssShift);


Saludos.

Muchas gracias.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
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.