scalemode属性(scalemode什么意思)
在VB中,top和left表示什么属性,具体解释一下
在窗口中有个属性是scalemode,它默认的是twip,在vb中一般都是以这为单位,也就是“缇”,一个像素约等于15“缇”,如果你的屏幕设置分辨率为800*600,那么换算成“缇”的话,应该就是(800*15)*(600*15)这个意思的。如果你想在窗体内其它控件的如left、top、width、height要是以像素为单位进行操作的话,那么窗体的那个属性就要设为pixel这个值,但就算设成这样了,窗体自身的那些left、top等属性中的值还是以“缇”为单位显示的。
窗体的scalemode属性用于指定
ScaleMode主要用于在控件上画图,可以改变计量单位,如果你仅显示图片,可以不必考虑这些属性。
=================================================
ScaleMode 属性【引用MSDN】
当使用图形方法或调整控件位置时,返回或设置一个值,该值指示对象坐标的度量单位。
语法
object.ScaleMode [=
value]
ScaleMode
属性的语法包含下面部分:
部分
描述
Object
对象表达式,其值是“应用于”列表中的一个对象。
Value
一个指定度量单位的整数,“设置值”中有详细描述。
设置值
value 的设置值为:
常数
设置值
描述
VbUser
指出 ScaleHeight、ScaleWidth、ScaleLeft 和
ScaleTop 属性中的一个或多个被设置为自定义的值。
VbTwips
1
(缺省值)缇(每逻辑英寸为 1440
缇;每逻辑厘米为 567 个缇)。
VbPoints
2
磅(每逻辑英寸为 72
个磅)。
VbPixels
3
像素(监视器或打印机分辨率的最小单位)。
VbCharacters
4
字符(水平每个单位=120 缇;垂直每个单位=240
缇。)
VbInches
5
英寸。
VbMillimeters
6
毫米。
VbCentimeters
7
厘米。
VbHimetric
8
HiMetric
VbContainerPosition
9
控件容器使用的单位,决定控件位置。
VbContainerSize
10
控件容器使用的单位,决定控件的大小。
说明
相关的 ScaleHeight、ScaleWidth、ScaleLeft 与 ScaleTop
属性的使用,可以建立起一个带有正、负坐标的自定义坐标系统。这四个 Scale 属性与 ScaleMode
属性按下面的方式进行交互作用:
把其它任何 Scale 属性设置为任何值都将 ScaleMode 自动地设置为 0。ScaleMode 等于 0
是用户定义。
把 ScaleMode
属性设置为一个大于 0 的数,将使 ScaleHeight 和 ScaleWidth 的度量单位发生改变,并将
ScaleLeft 和 ScaleTop 设置为 0。CurrentX 和
CurrentY的设置值将发生改变以反映当前点的新坐标。
VB6.0中控件的height属性是以什么为单位?像素还是其他?
默认情况是缇,(缇是一种度量单位,是一磅的 1/20 ,或者是一英寸的 1/1440。一厘米等于 567 缇。缇是与屏幕无关的度量单位。)即ScaleMode属性,1-Twip,可以更改该属性。控件的height属性是按其父容器的ScaleMode属性的。比如有个按钮,如果窗体的ScaleMode属性为1,则按钮的height属性为缇,如果窗体的ScaleMode属性为3,则是像素。
VB中运行时窗体的ScaleMode属性由list1中选定表项决定
你这样写的话会默认为仅仅第一项可选中,简单点直接在单击事件中不做判断直接引用
form1.scalemode=list1.text
scalewidth是什么
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 的大小。
VB上如何打印窗体指定位置的内容?
VB可以用CurrentX、CurrentY 属性实现定位打印。用ScaleMode 属性确定打印机对象坐标的度量单位。
CurrentX、CurrentY 属性,返回或设置下一次打印或绘图方法的 水平 (CurrentX) 或垂直
(CurrentY) 坐标。
ScaleMode 属性,当使用图形方法或调整控件位置时,返回或设置一个值,该值指示对象坐标的度量单位。
具体实现代码:
Option?Explicit
????Dim?X?As?Long
????Dim?y?As?Long
????Dim?fnt?As?Variant
????Dim?txt?As?String
????Dim?dy?As?Variant
????
Public?Function?prnt(X?As?Variant,?y?As?Variant,?fnt?As?Variant,?txt?As?Variant)
????Printer.CurrentX?=?X
????Printer.CurrentY?=?y
????Printer.FontSize?=?fnt
????Printer.Print?txt
End?Function
Private?Sub?Command1_Click()
????Printer.ScaleMode?=?6?'以mm定位
????Printer.CurrentX?=?10
????Printer.CurrentY?=?20
????fnt?=?12
????txt?=?"YD(0)"
????dy?=?prnt(X,?y,?fnt,?txt)
????Printer.EndDoc
End?Sub