PB控件大小随所在窗口大小变化

求助PB高手~~~~怎么编写PB控件大小随所在窗口大小变化。。。... 求助PB高手~~~~怎么编写PB控件大小随所在窗口大小变化。。。 展开
 我来答
匿名用户
2013-08-30
展开全部
这里有个例子,是CSDN一个高手的代码,我转贴给你参考一下:
MDI窗口的子窗口填充满主窗口的工作区域:
opensheet(w_childwindow,w_main,0,
Layered!)
控件的同步放大:
environment
env
integer
ii_ScreenWidth,ii_ScreenHeight
double
WRadio,HRadio,Radio
integer
ii_WinBolderWidth,ii_WinBolderHeight
getenvironment(env)
ii_WinBolderWidth=this.width
- this.WorkSpaceWidth()//取得窗体的边框宽度
ii_WinBolderHeight=this.height
- this.WorkSpaceHeight()
ii_ScreenWidth=env.screenwidth
ii_ScreenHeight=env.screenheight
//compute
the
radio
that
need
be
resize

WRadio=ii_ScreenWidth/800
//标准认为屏幕分辨率为800*600
HRadio=ii_ScreenHeight/600//计算出屏幕相对800*600分辨率的变化量
Radio=Min(WRadio,HRadio)
if
Radio=1.0
then
//if
the
screen
is
default
800*600
return
0
end
if
this.hide()
this.width=(this.width
- ii_WinBolderWidth)*Radio
+ ii_WinBolderWidth
this.height=(this.height
- ii_WinBolderHeight)*Radio
+ ii_WinBolderHeight
integer
i
dragobject
temp//用于取各种控件

//这里是关键,写在窗体的resize事件里
for
i=1
to
upperbound(this.control)
temp=this.control[i]//调整大小,位置
temp.width=temp.width*Radio
temp.x=temp.x*Radio
temp.y=temp.y*Radio
temp.Height=temp.Height*Radio
choose
case
typeof(temp)

case
tab!

tab
mtab

mtab=temp

mtab.textsize
=
mtab.textsize*Radio//设置字体

case
commandbutton!

commandbutton
cb

cb
= temp

cb.textsize
=
cb.textsize*Radio

case
singlelineedit!

singlelineedit
sle

sle
= temp

sle.textsize=sle.textsize*Radio

case
editmask!

editmask
em

em
= temp

em.textsize
=
em.textsize*Radio

case
statictext!

statictext
st

st
= temp

st.textsize
= st.textsize*Radio

case
datawindow!
//
datawindows
get
zoomed

datawindow
dw

dw
= temp

dw.Object.DataWindow.zoom
= string(int(Radio*100))//注意DATAWINDOW与其它控件的不同

case
picturebutton!

picturebutton
pb

pb
= temp

pb.textsize
=
pb.textsize*Radio

case
checkbox!

checkbox
cbx

cbx
= temp

cbx.textsize
=
cbx.textsize*Radio

case
dropdownlistbox!

dropdownlistbox
ddlb

ddlb
= temp

ddlb.textsize
=
ddlb.textsize*Radio

case
groupbox!

groupbox
gb

gb
= temp

gb.textsize
=
gb.textsize*Radio

case
listbox!

listbox
lb

lb
= temp

lb.textsize
=
lb.textsize*Radio

case
multilineedit!

multilineedit
mle

mle
= temp

mle.textsize
= mle.textsize*Radio

case
radiobutton!

radiobutton
rb

rb
= temp

rb.textsize
=
rb.textsize*Radio

end
choose
next
this.show()
return
0
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式