 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Gary Cdt

Registrado: 12 Sep 2003Mensajes: 16Ubicación: Chile
|
Publicado: Vie 07 Nov, 2003 7:03 pm Asunto: Repaint() del Form |
|
|
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 |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Vie 07 Nov, 2003 7:09 pm Asunto: |
|
|
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 |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Vie 07 Nov, 2003 7:25 pm Asunto: |
|
|
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 |
|
 |
Gary Cdt

Registrado: 12 Sep 2003Mensajes: 16Ubicación: Chile
|
Publicado: Vie 07 Nov, 2003 7:48 pm Asunto: Gracias |
|
|
| 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 |
|
 |
Invitado
|
Publicado: Vie 07 Nov, 2003 9:19 pm Asunto: |
|
|
MIra se me ocurre algo "chapucero", tramposo y no elegante
Deshabilta el Paint SI y solo si se mueve el form2 |
|
| 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.
|