option
explicit
private formoldwidth
aslong
'儲存窗體的原始寬度
private formoldheight
aslong
'儲存窗體的原始高度
'在呼叫resizeform前先呼叫本函式
private
sub resizeinit(formname
as form)
dim obj
as control
formoldwidth = formname.scalewidth
formoldheight = formname.scaleheight
onerror
resume
next
foreach obj
in formname
obj.tag = obj.left &
"" & obj.top &
"" & obj.width &
"" & obj.height & ""
next obj
onerror
goto
0end sub
'按比例改變表單內各元件的大小,在呼叫resizeform前先呼叫resizeinit函式
private
sub resizeform(formname
as form)
dim pos(
4) as
double
dim i
aslong, temppos
aslong, startpos
aslong
dim obj
as control
dim scalex
asdouble, scaley
asdouble
scalex = formname.scalewidth / formoldwidth
'儲存窗體寬度縮放比例
scaley = formname.scaleheight / formoldheight
'儲存窗體高度縮放比例
onerror
resume
next
foreach obj
in formname
startpos =
1for i = 0to
4'讀取控制項的原始位置與大小
temppos =
instr(startpos, obj.tag,
"", vbtextcompare)
if temppos >
0then
pos(i) =
mid(obj.tag, startpos, temppos - startpos)
startpos = temppos +
1else
pos(i) =
0endif'
根據控制項的原始位置及窗體改變大小的比例對控制項重新定位與改變大小
obj.move pos(
0) * scalex, pos(
1) * scaley, pos(
2) * scalex, pos(
3) * scaley
next i
next obj
onerror
goto
0end sub
'開發軟體時候,把這個modal裝入程式中.然後加入如下**:
private
sub form_load()
call resizeinit(
me)
'在程式裝入時必須加入
end sub
private
sub form_resize()
call resizeform(
me)
'確保窗體改變時控制項隨之改變
end sub
Qt Creator 窗體控制項自適應視窗大小布局
qt中如果想實現窗體內空間隨著窗體大小調整,必須使用布局管理,常用的布局管理有qhboxlayout qvboxlayout qgridlayout,空的地方使用spacer控制項進行填充,因此首先將窗體空間使用布局管理典型應用如下圖所示。我這裡使用qgridlayout,按住ctrl多選需要布局的...
Qt Creator 窗體控制項自適應視窗大小布局
qt中如果想實現窗體內空間隨著窗體大小調整,必須使用布局管理,常用的布局管理有qhboxlayout qvboxlayout qgridlayout,空的地方使用spacer控制項進行填充,因此首先將窗體空間使用布局管理典型應用如下圖所示。我這裡使用qgridlayout,按住ctrl多選需要布局的...
Qt Creator 窗體控制項自適應視窗大小布局
qt 的詳細介紹 請點這裡 請點這裡 推薦閱讀 ubuntu 環境下gtk與qt編譯環境安裝與配置 linux系統下qt環境搭建 ubuntu下qt控制台程式無法執行的解決方案以及xterm的配置方法 ubuntu 10.04下qt4.7.4移植詳解 linux下為剛安裝好的qt creator 建...