Posicionar DLG en Window

Posicionar DLG en Window

Postby MarioG » Fri Nov 30, 2012 4:29 pm

Estimados;
supongo que este tema es "viejito", pero hace dias que no doy con la solución
Mi aplicación arranca en una Ventana con RibbonBar; debajo de la cual pretendo que se abra un Dialog hecho desde recurso.
El punto es ubicarlo dentro de la ventana para distintos... peroooo estoy teniendo problemas al ejecutarlo en distintas resoluciones de monitores
Para ello intente ubicarlo de la siguiente manera:
Code: Select all  Expand view
// Pantalla
snSCRANCHO  GetSysMetrics( 0 )
snSCRALTO     GetSysMetrics( 1 )
...
   DEFINE RIBBONBAR h0:oRBar WINDOW soWnd0 PROMPT "Pedidos" HEIGHT 150 TOPMARGIN 55 //, "Articulos"
...
   DEFINE DIALOG oDlg RESOURCE "Dlg_LstPedidos" OF soWnd0   // ventana principal
...
  // la ecuasión es: Alto de Screen - ( Alto de Dialog+Alto de RibbonBar)
   ON INIT ( ON INIT ( oDlg:Move( (snSCRAlto-( oDlg:nHeight+h0:oRBar:nHeight ) )/2, soWnd0:nLeft+2 ), ;
                      oDlg:aMinMaxInfo:= { oDlg:nWidth, oDlg:nHeight, ;      // xMaxSize,      yMaxSize
                                           0, 0, ;                           // xMaxPosition,  yMaxPosition
                                           oDlg:nWidth, oDlg:nHeight, ;      // xMinTrackSize, yMinTrackSize
                                           oDlg:nWidth, oDlg:nHeight } )
 


En un monitor de resolución 1440x900 se ve así: (sería lo deseado)
Image

En un monitor de resolución 1366x768 se ve así:
Image

Cual es la manera de posicionarlo para cualquier resolucion?

muchas gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Posicionar DLG en Window

Postby sysctrl2 » Fri Nov 30, 2012 7:00 pm

Quizas te sirva esto:
Code: Select all  Expand view
ACTIVATE DIALOG oDlg NOWAIT on init ( oDlg:SetSize(  oWndChild:nWidth(), oWndChild:nHeight()  ) )
   
   oWndChild:bResized := { ||  oDlg:SetSize(  oWndChild:nWidth(), oWndChild:nHeight()  )  }


el dialogo se hace al tamaño de la win.

Me funciona con windos, child, y dialogo.

" No uso dialogo desde recursos. "

saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 951
Joined: Mon Feb 05, 2007 7:15 pm

Re: Posicionar DLG en Window

Postby MarioG » Fri Nov 30, 2012 9:02 pm

Gracias Cesar;
Creo que no es lo que necesito, porque para usar de acuerdo a tu sugerencia, debería permitir mover y redimensionar. En mi caso no es necesario redimensionar porque el tamaño del Dlg esta dado desde el recurso (lo que no quiere decir que desde codigo no se pueda alterar sus dimensiones, pero no es la idea).
Estoy, si, manejando la idea de que el usario mueva el Dialog, lo ubique en el lugar correcto y guarde su posición en un .ini para de ahí en mas ubicarse de acuerdo a tales valores... si nadie mejora la propuesta quizás me incline por esta opción.
Creo que el problema se da por la inclusión de la RibbonBar

seguimos pensando...
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Posicionar DLG en Window

Postby MarioG » Mon Dec 03, 2012 8:20 pm

Gracias Foro por existir! :D (estoy seguro que van a compartir conmigo que cada vez que se soluciona algo que nos lleva hoooooras, nos invade una inmensa alegría)
La respuesta a mi inquietud me la dio Armando Lagunas (gracias Armando), sin saberlo

http://forums.fivetechsupport.com/viewtopic.php?f=6&t=25281#p137693

PROBLEMA RESUELTO (al menos para los que usamos WS)
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: karinha and 13 guests