Page 1 of 1
¿Dialogo que funcione como ventana?
Posted: Tue Dec 04, 2018 1:58 am
by JoseAlvarez
Hola a todos los foristas.
Saludos.
Hice un menu principal pero usando un cuadro de dialogo en lugar de una ventana.
Lo hice así por la facilidad de hacer los controles con recursos.
Ahora necesito resolver como hacer para que el dialogo se adapte a los diferentes tamaños de resolución de monitores.
Se puede "incrustar" un dialog dentro de una ventana y que funcionen como uno? quizás estoy hablando locuras con esto, pero es la mejor forma que encuentro para describir lo que necesito hacer.
Dejo una imagen de muestra. Este es el dialogo con el menu principal. Todo hecho con workshop.

Re: ¿Dialogo que funcione como ventana?
Posted: Tue Dec 04, 2018 7:34 am
by Antonio Linares
José,
Prueba a usar este estilo en el diálogo: WS_OVERLAPPEDWINDOW
Añádelo en el fichero de recursos
Re: ¿Dialogo que funcione como ventana?
Posted: Tue Dec 04, 2018 1:18 pm
by JoseAlvarez
Hola Antonio, saludos.
Ya lo intenté como me dijiste, pero no funciona.
Sigo buscando...

Re: ¿Dialogo que funcione como ventana?
Posted: Wed Dec 05, 2018 12:50 am
by JoseAlvarez
Hola Antonio,
Saludos Nuevamente...
Encontré la solución a lo que buscaba con la ayuda del amigo Giancarlo sabattino de acá de Venezuela también.
Finalmente solo hizo falta esto:
Code: Select all
hWnd := CreateDc( 'DISPLAY', ',' )
nAlto := GetDeviceCaps( hWnd, 10) //VERTRES )
nAncho := GetDeviceCaps( hWnd, 8) //HORZRES )
oDlg_MainMenu:SetSize( (nAncho), (nAlto) )
oDlg_MainMenu:Move(0,0)
oDlg_MainMenu:Refresh()
De esta forma, puedo manejar un cuadro de dialogo hecho desde recursos con WorkShop como si fuese una ventana en el sentido de que se ajuste automáticamente al tamaño de la pantalla según la resolución.
Gracias por la ayuda y la atención prestadas..
Hasta la próxima...

Re: ¿Dialogo que funcione como ventana?
Posted: Wed Dec 05, 2018 3:00 am
by jnavas
oDlg:bInit:={||oDlgAjustar(oDlg)
ACTIVATE DIALOG oDlg
RETURN .T.
FUNCTION oDlgAjustar(oDlg)
LOCAL aCoors:=GetCoors( GetDesktopWindow() )
oDlg:Move(0,0,aCoors[3],aCoors[4],.T.)
RETURN .T.
Re: ¿Dialogo que funcione como ventana?
Posted: Wed Dec 05, 2018 9:26 pm
by JoseAlvarez
Excelente Juan,
Funciona perfecto también, aunque no abarca la pantalla completa como lo quiero, pero funciona muy bien y con menos código.
Creo que decantaré por esta opción.
Agradecido !
Muchas Gracias !

Re: ¿Dialogo que funcione como ventana?
Posted: Thu Dec 06, 2018 10:24 am
by jnavas
José
Prueba con
ACTIVATE DIALOG oDlg ON INIT oDlgAjustar(oDlg)
Re: ¿Dialogo que funcione como ventana?
Posted: Thu Dec 06, 2018 2:07 pm
by JoseAlvarez
ya probé Juan.
Aún no se maximiza correctamente. Puede ser algo que tenga yo por este lado en el diseño.
Pero igual puedo aplicarlo para solucionar lo que necesitaba.
Gracias nuevaente por tu ayuda.