FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Posicionar DLG en Window
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Posicionar DLG en Window
Posted: Fri Nov 30, 2012 04: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 (fw): Select all Collapse
// 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)


En un monitor de resoluci贸n 1366x768 se ve as铆:


Cual es la manera de posicionarlo para cualquier resolucion?

muchas gracias
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: Posicionar DLG en Window
Posted: Fri Nov 30, 2012 07:00 PM
Quizas te sirva esto:
Code (fw): Select all Collapse
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 "
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Posicionar DLG en Window
Posted: Fri Nov 30, 2012 09: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
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Posicionar DLG en Window
Posted: Mon Dec 03, 2012 08:20 PM
Gracias Foro por existir! :-) (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

Continue the discussion