VB坐标问题请问VB中Form的 scaleHeight和height 以及 scalewidth 和width 是个什么样的关系.比如 我设置Form 的(Width,Height)= (4000,4000),(ScaleWidth,ScaleHeight)=(100,100)当我改变Form的 (Width,Height) = (5000,5000),Form

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/01 23:14:41
VB坐标问题请问VB中Form的 scaleHeight和height 以及 scalewidth 和width 是个什么样的关系.比如 我设置Form 的(Width,Height)= (4000,4000),(ScaleWidth,ScaleHeight)=(100,100)当我改变Form的 (Width,Height) = (5000,5000),Form
xU]OG+T+&TD6DjD1?0`5@Xo/ػJ`kvι{饙Y!Q{װ+9b~οzgg?-|7|3(=uuo=8S )& xҼN6?^X2;A<8žrrۋ=c׫߸66G^ɜKf<< ~㼿Tܐ(A JH2ֿ?l޸|D`1?44?8kQ^#b|Zn"zW} o^>_zO]/}Yy[Xp;Lj>aT7BekDv E)OuE*n]\R+9QNcm<5|#un5_K%w DWkfPQCk$֎ʣ6f6⠈Ҹ1)Xsp2%'X@}'WYkDod^yYFU"@**ɺhLEbO]}F{e)jbOHSPPs*bQ㲓C *Ò]`58Q0RJx ]Os+v]OM\Ojow9¾JU?B#o)PW#|O1/ Bz:^U+QudD\G-|wfʆiCM"G^c嗣# Z"Z{ECjio$Hh`G2gw$hGqCG?RlF b(N<)"4엷\=ݑW^^`5QGI PfC$qs͛Icta >V w& kuuM=]mnuV\^xo$ґEM<5nbcGJ'_/=e

VB坐标问题请问VB中Form的 scaleHeight和height 以及 scalewidth 和width 是个什么样的关系.比如 我设置Form 的(Width,Height)= (4000,4000),(ScaleWidth,ScaleHeight)=(100,100)当我改变Form的 (Width,Height) = (5000,5000),Form
VB坐标问题
请问VB中Form的 scaleHeight和height 以及 scalewidth 和width 是个什么样的关系.
比如 我设置Form 的(Width,Height)= (4000,4000),(ScaleWidth,ScaleHeight)=(100,100)当我改变Form的 (Width,Height) = (5000,5000),Form的(ScaleWidth,ScaleHeight)就自动变成了(128.821,125.4826),为什么会这样呢,为什么(ScaleWidth,ScaleHeight) 会变成上述数值呢?SCaleMode 选的是0

VB坐标问题请问VB中Form的 scaleHeight和height 以及 scalewidth 和width 是个什么样的关系.比如 我设置Form 的(Width,Height)= (4000,4000),(ScaleWidth,ScaleHeight)=(100,100)当我改变Form的 (Width,Height) = (5000,5000),Form
Width、Height是窗体的整体宽度和高度,ScaleWidth和ScaleHeight则是窗体中客户区(也就是去掉边框、标题栏、菜单等后可实际利用的区域)的宽度和高度.
ScaleMode选0,表示客户区采用的是用户自定义坐标系统,如果设ScaleWidth=100,就表示窗体客户区的宽度为100单位,而这个单位究竟相当于多少缇(VB的默认单位)呢?我们可以把ScaleMode重新选为默认的1,这时你会发现当Width=4000时,ScaleWidth=3885,也就是说你自定义的100宽度单位=3885缇,现在让Width=5000,这时ScaleWidth=4875,也就是说客户区的宽度增长了4875/3885=1.254826倍,那么你自定义的宽度单位自然也就变为100*1.254826=125.4826咯!高度的情况也类似,由于这时候要考虑窗体标题栏的情况,所以虽然Width和Height是相等的数值,但ScaleWidth和ScaleHeight的数值(按缇为单位算)是不相等的,所以你自定义的100高度单位与100宽度单位也是两种不同的长度单位.具体计算如下:
当Height=4000缇时,ScaleHeight=3495缇,
当Height=5000缇时,ScaleHeight=4485缇,
因此客户区高度增长了 4485/3495=1.283262
也就是自定义的客户区高度为100*1.283262=128.3262
你会发现我计算出的高度和你的128.821有点差别,这是因为你和我的XP系统采用的桌面主题不同,这样标题栏的高度也会有所不同,但误差也不是很大.
不知道你现在看明白了没有?
另外,你怎么会得出“窗体外边框比窗体内部大很多”的说法呢?1000米和1公里,光从数字上来看,1000比1大很多,但你别忘了,它们采用的是不同的单位!