最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 编程开发 > VB开发

在VB中让控件成比例变化的方法

日期:10-14    来源:中国设计秀    作者:cnwebshow.com

vb的可视化编程方法使得windows的一般编程变得简单直观。尤其是程序界面设计,只需用鼠标将相应的控件(按钮、图框、表格等)拖放到表单(form)上直接调整其位置和大小,即可设计出漂亮实用的界面。但在程序运行期间,如果改变表单的大小,表单上控件的大小和位置并非成比例地发生相应变化,导致界面呈现难看的不均匀现象。 jj1中国设计秀
---- 上述现象和问题,可在表单Form_Resize()过程编程,通过定义表单的ScaleMode属性和表单中控件的Height、Width、Top、Left属性来解决这个问题。具体实现方法如下: jj1中国设计秀
jj1中国设计秀
用表单的Height、Width、Top、Left属性设计表单在屏幕中的位置和大小。将表单中的控件大小和位置调整好,直到得到满意的界面。 jj1中国设计秀
jj1中国设计秀
选择表单的ScaleMode属性为user;设定ScaleHeight、ScaleWidth的值,如可将这俩个值设定为100或1000或其他的数值,也可使这俩个值不等,视个人的习惯而定,这里我们将其设为1000;使ScaleTop=0、ScaleLeft=0。 jj1中国设计秀
---- ScaleMode属性决定了表单的ScaleHeight、ScaleWidth、ScaleTop、ScaleLeft属性值和表单中控件的Height、Width、Top、Left属性值的度量单位(用户自定义、缇、点、像素、字符、英寸、毫米、厘米等)。一般使Scaletop和ScaleLeft等于零。ScaleHeight、ScaleWidth属性值表示以ScaleMode值为度量单位的表单的高和宽,它们的改变不会使表单的大小和位置发生变化。改变ScaleMode的值不会影响表单和表单中控件的位置和大小,只是表单的ScaleHeight、ScaleWidth属性值和表单中控件的Height、Width、Top、Left属性值要根据新的度量单位自动发生变化。由于表单的大小、表单中控件的位置和大小已经设定,除了"用户自定义"度量单位外,表单的ScaleHeight、ScaleWidth、ScaleTop、ScaleLeft属性值是一定的。只要手工改变表单的ScaleHeight、ScaleWidth、ScaleTop、ScaleLeft任一属性值,ScaleMode的值就变成了"用户自定义"。 jj1中国设计秀
---- 用户自定义ScaleHeight值表示将表单的高度等分了ScaleHeight等份,表单中控件的Height属性值是以表单高度等分了ScaleHeight等份的一份为单位。用户自定义ScaleWidth值表示将表单的宽度等分了ScaleWidth等份,表单中控件的Width属性值是以表单宽度等分了ScaleWidth等份的一份为单位。 jj1中国设计秀
jj1中国设计秀
---- 例如:有一个表单form1,form1中有一个控件Cammand1,Cammand1的位置和大小已经设计好 jj1中国设计秀
jj1中国设计秀
form1.ScaleMode=user jj1中国设计秀
form1.Height=6800 jj1中国设计秀
form1.ScaleHeight=1000 jj1中国设计秀
这时Cammand1.Height的值是以6800/1000=6.8为单位的, jj1中国设计秀
即为表单高度的千分之六点八为单位。 jj1中国设计秀
jj1中国设计秀
记下表单中每一个希望与表单大小变化而成比例变化的控件的Height、Width、Top、Left值。 jj1中国设计秀
jj1中国设计秀
用鼠标双击表单没有控件的地方,点出编程界面右上方的表单过程名表,选择Form_Resize过程,在Form_Resize过程编程如下: jj1中国设计秀
Private Sub Form_Resize() jj1中国设计秀
ScaleHeight = 1000 jj1中国设计秀
ScaleWidth = 1000 jj1中国设计秀
表单中控件名1.top=步骤3记下的值 jj1中国设计秀
表单中控件名1.Width=步骤3记下的值 jj1中国设计秀
表单中控件名1.Left=步骤3记下的值 jj1中国设计秀
表单中控件名2.Height=步骤3记下的值 jj1中国设计秀
表单中控件名2.top=步骤3记下的值 jj1中国设计秀
表单中控件名2.Width=步骤3记下的值 jj1中国设计秀
表单中控件名2.Left=步骤3记下的值 jj1中国设计秀
表单中控件名2.Height=步骤3记下的值 jj1中国设计秀
... ... jj1中国设计秀
End sub jj1中国设计秀
jj1中国设计秀
---- 总之, 通过以上4步就可实现让控件大小和位置随着表单的大小变化而成比例变化,从而解决界面因表单大小的改变而变得不均匀的问题。jj1中国设计秀

本文引用地址:/bc/article_61275.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明