Open GL - OpenGl con ShowModal S.O.S!!

 
Vista:

OpenGl con ShowModal S.O.S!!

Publicado por Marta (3 intervenciones) el 11/07/2006 10:12:20
Hola a todos!

Somos dos programadoras en apuros, ahí os va nuestro problema:

- Tenemos una librería que en tiempo de ejecución crea un formulario.
- Este formulario contiene un panel en el que mostramos OpenGl.
- Cuando ese formulario lo mostramos de forma no modal, funciona correctamente.
- Pero si lo mostramos como modal, el panel donde debería aparecer la imagen opengl, está en gris, no se repinta.

Al llamar a la librería nos pasan el HWND, el cual se lo asignamos a nuestra aplicación.
------------------------------------------------------------------------------------------------------------------------

procedure Set DialogParent (Padre:HWND); stdcall;
begin
Application.Handle := Padre;
end;

Luego desde otra función creamos el formulario a mostrar:
--------------------------------------------------------------------------------

Form1 := TForm1.Create (Application);
//Form1.Show (); ---> Works OK
Form1.ShowModal(); // The form is modal and works OK, but we can't show opengl

Muxas gracias de antemano por vuestra ayuda!

Marta y Sam.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:OpenGl con ShowModal S.O.S!!

Publicado por martha1982js (3 intervenciones) el 11/07/2006 14:13:58
Ya hemos arreglado nuestro problema!! :-)

Esta es la cuestión; el código fuente del ShowModal tiene estas dos líneas:

if PopUpMode = pmNone then
RecreateWnd;

ShowModal recrea nuestra ventana, y así perdemos opengl. Hemos escrito nuestro propio ShowModal borrando estas dos líneas, y listo.

Ciao!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar