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 

Ejecutar una accion mientras un boton este presionado

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Ejecutar una accion mientras un boton este presionado Responder citando

Hola, necesito incrementar el valor de una variable tipo entero en 1 mientras un boton llamado incremeto este presionado. Se debe hacer con un timer, o en el evento onMouseDown del boton ???
De antemano gracias...

Saludos..
Volver arriba
Mensaje    Asunto: Responder citando

ya checaste el control UpDown, folder Win32 el septimo de izq a derecha?
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: ... Responder citando

Hola, gracias por responder, pero realmente el asunto no es incrementar una variable, fue un ejemplo para que me entendieran lo que queria, realmente necesito eliminar una secuencia de archivos conforme tenga presionado el boton.. por esto necesito saber como ejecutar una accion mientras un boton este presionado...

Gracias por responder...

Saludos.,

Mariana.
Volver arriba
Mensaje    Asunto: La solución es Hilos... TThread Responder citando

Hola:

Utiliza un evento BottonDown(no sé como se llama) que te dispare un proceso de algún hilo que hace la tarea encomendada (En este caso eliminar la secuencia de archivos) y que esté chequeando el estado del hilo, o mejor el evento BottonUp(tampoco sé como se llama) detenga el procesamiento del hilo... Suspend, Terminate

Fíjate a ver...
Espero que te sirva....
_________________
Please Response to:joseluisbz@bigfoot.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: ... Responder citando

Hola, gracias por responder, pense que habia algun evento directamente o un forma mas sencilla de hacer esto..

Si alguien tiene alguna otra sugerencia..

Saludos.

Gracias
Volver arriba
Mensaje    Asunto: Responder citando

Todo puede resultar sencillo a ojos del espectador.

Yo me decantaría por el uso de hilos. Puede que su uso parezca complicado pero no es para tanto. Crea un hilo en el evento OnMouseDown que eliminie o haga lo que deseas y destruye el hilo en el evento OnMouseUp. Por otro lado la manera más sencilla de hacerlo es la siguiente, aunque debes tener cuidado de no entrar en un bucle sin fin que bloquearía la aplicación. Recuerda que lo sencillo no siempre es lo mejor.

BotonPulsado es una variable boleana pública para todos los elementos de la clase TForm1.

void __fastcall TForm1::Button1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
int i = 0;
BotonPulsado = true;
while (BotonPulsado)
{
Application->ProcessMessages();
i++;
Label1->Caption = IntToStr(i);
Label1->Repaint();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1MouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
BotonPulsado = false;
}
_________________
Iré a cualquier sitio siempre y cuando sea hacia delante.
Livingstone
Volver arriba
Ver perfil de usuario Enviar mensaje privado
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.