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 

Repaint() del Form

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Repaint() del Form Responder citando

Hola a Todos, tengo un problema y no se como solucionarlo,
Lo que pasa es que estoy trabajando con OPenGL, mi problema es el siguiente:

En funcion del form Principal , ->OnPaint(), llamo a OPenGL, para que pueda dibujar la imagen, esto se domora un par de segundos, eso es propia de la aplicación, pero cuando abro otro formulario (Secundario), para poder visualizar información, y este lo quiero desplazar hacia otro lado de la pantalla, me empieza a redibujar el form(Principal) de opengl, y como el calculo se demora, implica que al mover el form(Secundario), este da la impresión que si el programa se vea demasiado lento.
Espero me hayan entendido mi problema

Desde ya muchas Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Hola Gary, el problema es que el evento OnPaint es invocado cada vez que tu mueves el form, lo minimizas y maximizas, etc. Tal vez el evento que necesitas podria ser en OnShow(), te digo tal vez porq nunca he trabajado con OpenGl , estoy recien estudiandome eso...

Saludos!!!
_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

Te digo esto, pero no tiene porque ser, a mi por ejemplo me pasa a veces, que cuando ejecuto alguna sentencia SQL que tarda un ratito, o bien cuando estoy en un bucle leyendo de una sentencia SQL, pero que lleva su tiempo, los demás componentes no se actualizan, o bien van muy lentos.

Podrías probar en plan chapuzas a poner por alguna parte del codigo que tenga el mayor uso de cpu un:

Application->ProcessMessages();

Para procesar todos los mensajes que haya en la cola.
A lo mejor con un ->Repaint() o ->Refresh() del formulario en cuestión
se te soluciona.

En fin imagino que esta no será la mejor solución.
Ciao.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Gracias Responder citando

Gracias por su tiempo, pero segui sus sugerencias, pero nada, en onShow(), pero al trasladar el form secundario, dentro del primario (Opengl), me borra la imagen del OpengL . Yo creo que la solucion pasaria por guarddar la imagen en un buffer(ya que los colorese ya estan calculados), y llamar a esa imagen , cuando se quiera mover el form secundario. si alguien ha escuhado algo al respecto, por favor agradeceria su ayuda
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

MIra se me ocurre algo "chapucero", tramposo y no elegante

Deshabilta el Paint SI y solo si se mueve el form2
Volver arriba
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.