Change size to dialog during execution program

Post Reply
alfonso
Posts: 46
Joined: Fri Mar 09, 2007 1:31 pm
Location: España

Change size to dialog during execution program

Post 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,
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

oDialog:nWidth = ...
oDialog:nHeight = ...

<oControl>:nTop = ...
<oControl>:nLeft ...
<oControl>:nWidth = ...
<oControl>:nHeight = ...
regards, saludos

Antonio Linares
www.fivetechsoft.com
ShumingWang
Posts: 454
Joined: Sun Oct 30, 2005 6:37 am
Location: Guangzhou(Canton),China

Post 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
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
alfonso
Posts: 46
Joined: Fri Mar 09, 2007 1:31 pm
Location: España

Post 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
ShumingWang
Posts: 454
Joined: Sun Oct 30, 2005 6:37 am
Location: Guangzhou(Canton),China

Post by ShumingWang »

So far,-1 Id not support yet.
You could change like this:
redefine say prompt ' ... ...' of odlg id 111
Regards
Shuming Wang
Post Reply