Page 1 of 1

Change size to dialog during execution program

PostPosted: Fri Apr 13, 2007 12:02 pm
by alfonso
Hello,

I have a browse and four buttoms inside of a dialog and I need to expand the dialog and browse to adjust to screen resolution and move the buttons to other position.

Does somebody know as doing it?

Regards,

PostPosted: Sat Apr 14, 2007 5:53 am
by Antonio Linares
oDialog:nWidth = ...
oDialog:nHeight = ...

<oControl>:nTop = ...
<oControl>:nLeft ...
<oControl>:nWidth = ...
<oControl>:nHeight = ...

PostPosted: Tue Apr 17, 2007 6:36 am
by ShumingWang
Hi,
CLASS TDialog FROM TWindow


METHOD Autoresize(ntop,nleft)

METHOD Autoresize(ntop,nleft)
local i,rsl0,rsl1
DEFAULT ntop:=0
DEFAULT nleft:=0



rsl0:=getsysmetrics(0)/800
if rsl0<=1; return ; end //<=800*600, not needed
rsl1:=getsysmetrics(1)/600
for i:=1 TO LEN(::acontrols)
oCtrol = ::aControls[i]
aRect = GetCoors( oCtrol:hWnd )
if oCtrol:classname()=="TCOMBOBOX"
oCtrol:Move( aRect[1]*rsl0, aRect[2]*rsl1)
else
oCtrol:Move( aRect[1]*rsl0, aRect[2]*rsl1, (aRect[4] - aRect[2])*rsl0, (aRect[3] - aRect[1])*rsl1, .t. )
end
next

aRect = GetWndRect( ::hWnd )

::Move( ntop,nleft,::nWidth*rsl0, ::nHeight*rsl1, .T. )

if ::lCentered
WndCenter( ::hWnd )
else
if Empty( ::cResName )
::Move( ::nTop, ::nLeft )
endif
endif


return


In you app

define dialog odlg
redefine controls ...
...
activate dialog odlg on init odlg:autoresize()

Regards,
Shuming Wang

PostPosted: Tue Apr 17, 2007 9:14 am
by alfonso
Thanks for your reply.
But I have a problem, the fix text or literals in a dialog are not resized. Do you know how can I manage it to resize it?
Thanks in advance,
Jose Alfonso

PostPosted: Wed Apr 18, 2007 1:26 am
by ShumingWang
So far,-1 Id not support yet.
You could change like this:
redefine say prompt ' ... ...' of odlg id 111
Regards
Shuming Wang