窗体的ScaleHeight和ScaleWidth表示什么意思?

李赞红 2004-04-24 10:55:36
MSDN中有一个例子,我运行后不知道结果怎么来的.大家帮我分析一下?
---------------------------------------------------------------

ScaleHeight、ScaleWidth 属性示例
本例使用 ScaleHeight 和 ScaleWidth 属性来改变窗体的垂直和水平度量单位。要试用此例,先将下面的代码粘贴到窗体的声明部分,然后按 F5 键。要看到其效果,单击该窗体,改变它的大小,然后再次单击它。

Private Sub Form_Click ()
Dim Radius As Integer ' 声明变量。
ScaleHeight = 100 ' 设置高度的单位值。
ScaleWidth = 100 ' 设置宽度的单位值。
For Radius = 5 to 50 Step 5
FillStyle = 1
Circle (50, 50), Radius ' 画圆。
Next Radius
End Sub
...全文
520 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljf88888 2004-04-24
  • 打赏
  • 举报
回复
up
Wenking003 2004-04-24
  • 打赏
  • 举报
回复
这个例子不仅仅是按步长来画出圆,而且还要求你“单击该窗体,改变它的大小,然后再次单击它。”让你在改变窗体的大小的同时,感受到ScaleHeight、ScaleWidth因为窗体大小改变而随之变化的效果。
因为ScaleHeight、ScaleWidth随窗体的大小,它单位值所含的窗体实际内部高度的度量值随之变化,因此Radius在按步长变化时,虽然数值是一样的,但其具体在屏幕实现的距离是不同的。
ukyoxh 2004-04-24
  • 打赏
  • 举报
回复
表示窗体的大小

不过它的度量单位是不固定的,由

Scalemode 来确定,意思就是你可以随意更改你的

scalewhith等的度量单位
zyjhitchina 2004-04-24
  • 打赏
  • 举报
回复
让窗体的高和宽为100单位
半径从5到50,步长为5画圆,圆的圆心是50,50,即窗体的中心
射天狼 2004-04-24
  • 打赏
  • 举报
回复
ScaleHeight、ScaleWidth 属性

当使用图形方法或调整控件位置时,返回或设置对象内部的水平 (ScaleWidth) 或垂直 (ScaleHeight) 度量单位。对于 MDIForm 对象,在设计时是不可用的,并且在运行时是只读的。

语法

object.ScaleHeight [= value]
object.ScaleWidth [= value]

ScaleHeight 和 ScaleWidth 属性的语法包含下面部分:

部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。
value 一个用来指定水平或垂直度量的数值表达式。
说明

能够使用这些属性来为绘图或打印创建一个自定义的坐标比例尺。例如,语句 ScaleHeight = 100 将改变窗体实际内部高度的度量单位。取代当前高度为 n 个单位(缇、像素、...),高度将变为 100 个自定义单位。因而,50 个单位的距离就是对象的高度/宽度的一半,101 个单位的距离将超出对象 1 个单位。
为了定义基于标准度量单位的比例尺,例如缇、磅、像素、字符、英寸、毫米、或厘米应使用 ScaleMode 属性。

这些属性设置为正值将使坐标从上向下及从左向右增加。它们设置为负值将使坐标从下向上及从右向左增加。
这些属性和相关的 ScaleLeft 与 ScaleTop 属性的使用,可以建立起一个完全的带有正、负坐标的坐标系统。所有这四个 Scale 属性与 ScaleMode 属性按下面的方式进行交互作用:

?把其它任何 Scale 属性设置为任何值都将使 ScaleMode 自动地设置为 0。ScaleMode 等于 0 是用户定义。
?把 ScaleMode 设置为一个大于 0 的数,将使 ScaleHeight 和 ScaleWidth 的度量单位发生改变,并将 ScaleLeft 和 ScaleTop 设置为 0。另外,CurrentX 和 CurrentY 的设置值将发生改变以反映当前点的新坐标。

也可以在语句中使用 Scale 方法设置 ScaleHeight、ScaleWidth、ScaleLeft 和 ScaleTop 属性。

注意 ScaleHeight 和 ScaleWidth 属性与 Height 和 Width 属性是不一样的。

对于 MDIForm 对象,ScaleHeight 和 ScaleWidth 仅涉及窗体中未被 PictureBox 控件覆盖的区域。在 MDIForm 的 Resize 事件中应避免使用这些属性调整 PictureBox 的大小。

-==========================================================================

本例使用 ScaleHeight 和 ScaleWidth 属性来改变窗体的垂直和水平度量单位。要试用此例,先将下面的代码粘贴到窗体的声明部分,然后按 F5 键。要看到其效果,单击该窗体,改变它的大小,然后再次单击它。

Private Sub Form_Click ()
Dim Radius As Integer ' 声明变量。
ScaleHeight = 100 ' 设置高度的单位值。
ScaleWidth = 100 ' 设置宽度的单位值。
For Radius = 5 to 50 Step 5
FillStyle = 1
Circle (50, 50), Radius ' 画圆。
Next Radius
End Sub

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧