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 

OnPaint() y TSpeedButtons...

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: OnPaint() y TSpeedButtons... Responder citando

Hola a todos.

Tengo una ventana con un evento OnPaint() que lanzo cuando cambia el contenido de algún TEdit, etc. Pero el evento se activa también cuando paso el ratón por encima de los TSpeedButton que tengo en la ventana. En este caso no debería hacer nada, y como sí redibuja, se ve un parpadeo del gráfico bastante molesto. ¿Se os ocurre alguna solución?

Un saludo.
_________________
Nunca digas "Es imposible" sin intentarlo antes.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola.

Necesito una ayuda, por favor. He estado comprobando otras ventanas que tengo, y no me ocurre esto. ¿Tengo que mandar dibujar a mano, tengo que decirle a la aplicación cuándo debe redibujar? Se trata de un efecto bastante feo.

Un saludo.
_________________
Nunca digas "Es imposible" sin intentarlo antes.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola, Cerúleo.

Supongo que el problema está en que el evento onPaint() se dispara en más ocasiones de las que tú pretendes controlar, se me ocurre que elimines el contenido que actualmente tiene Form1Paint() y lo traslades a otra función que tenga los mismos parámetros pero creada por tí (pones su prototipo en la parte private: o public: del .h). Su definición sería algo así como
Código:
void __fastcall TForm1::PintaVentana(TObject *Sender) {
   //Aquí pones el código que tenías en Form1Paint
}
y en los eventos en que llamabas a Foim1Paint(...) sustituyas esa llamada por PintaVentana(...). Así controlarás tú cuándo se dispara el repintado.
_________________
Ojos ... no son ojos porque los ves, son ojos porque te miran
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias Enrique.
Efectivamente, lanzaba demasiadas veces la función de pintar. La pasé del evento OnPaint() del Form y sólo la puse en el evento OnPaint() del TPaintBox, y ahora va muy bien.
Gracias y un saludo.
_________________
Nunca digas "Es imposible" sin intentarlo antes.
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.