社区
VB基础类
帖子详情
Printer.ScaleWidth ,Printer.Width有何区别?
benlux
2004-04-12 04:39:07
写打印程序时,定义纸张宽度
Printer.ScaleWidth ,Printer.Width有何区别?
同样,Printer.ScaleHeight,Printer.Height
...全文
204
7
打赏
收藏
Printer.ScaleWidth ,Printer.Width有何区别?
写打印程序时,定义纸张宽度 Printer.ScaleWidth ,Printer.Width有何区别? 同样,Printer.ScaleHeight,Printer.Height
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
射天狼
2004-04-13
打赏
举报
回复
Printer.Width这才是设置宽度,SCALEWIDTH是设置度量单位的!1
射天狼
2004-04-13
打赏
举报
回复
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
benlux
2004-04-13
打赏
举报
回复
那我设置纸张大小时用.width还是.ScaleWidth?
若我把.scalewidth=6‘毫米并用.ScaleWidth,打印效果感觉会很大;
若.scalewidth=6并用.width,打印的宽度就就不再我定义的宽度,除非是标准的纸张,用.papersize即可。但若我想自定义怎么办呢?换句话说,这里的.width或者.ScaleWidth在打印时(用PRINTER对象)起到什么样的作用呢?
benlux
2004-04-13
打赏
举报
回复
以前一直都不知道如何给分,各位不好意思,初始分值给的太低了,还以为是没一个回复贴的分呢,原来是总分啊,只能用avarage(SpotScore)了,下次初始化时一定多写点,当然只能在我的分之内<=MyScore.希望下次多帮帮小第啊!:)
benlux
2004-04-13
打赏
举报
回复
搞清楚了,谢谢楼上各位的支持与帮助。
结贴了,给分。
supergreenbean
2004-04-12
打赏
举报
回复
.width是以twip为单位的,.scalewidth是以当前.scalemode属性所设置的单位为单位的
Abyss-Xu
2004-04-12
打赏
举报
回复
.width 应该是from的宽,scalewidth 是整个屏幕的宽。
如何使用VB实现打印预览
Option Explicit Global Const mm = 567 Global Const cm = 567 Global Const NM_PP_Ofs = 0 '36 Global Const Gray = &HC0C0C0 Global Scala As Single Global Const ANTE
PR
IMA = 0 Global Const STAMPANTE = 1 Global Const NONESCLUSIVO = 0 Global Const ESCLUSIVO = 1 Global LocPerc As String Global Const LocName = "_$$_TEMP.TMP" Global Ofs As Single Global Const SistemaCoordinate = 0 Global NM_AnnullaStampa As Boolean Global TempDemoMode As Boolean Sub SistemaBarra(sP As
Inte
ger, eP As
Inte
ger, aP As
Inte
ger) '
Pr
n
PR
N.sBar > max bar '
Pr
n
PR
N.aBar > actual value ' ' sP = start page ' eP = end page ' aP = actual page Static Stp As Single Stp =
Pr
n
Pr
n.tBar.
Width
/ ((eP - sP) + 1)
Pr
n
Pr
n.pBar.
Width
= Stp * aP End Sub Function TempFileExists(MyFilename As String) As Boolean Dim TempAttr As Double TempFileExists = True On Error GoTo MyErrorFileExist TempAttr = FileLen(MyFilename) GoTo MyExitFileExist MyErrorFileExist: TempFileExists = False Resume MyExitFileExist MyExitFileExist: On Error GoTo 0 End Function Sub ContaPagine()
Pr
n
Pr
v.MousePo
inte
r = vbHourglass Static NumPag As
Inte
ger NumPag = 0 Static A As String, B As String
Pr
n
Pr
v.ePag.Clear Open LocPerc + LocName For Append As #27: Close #27 '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Open LocPerc + LocName For Input As #27 While Not EOF(27) Line Input #27, A If A = "#startpage" Then NumPag = NumPag + 1 ElseIf A = "#endpage" Then
Pr
n
Pr
v.ePag.AddItem Format(NumPag) End If Wend Close #27 If
Pr
n
Pr
v.ePag.ListCount > 0 Then
Pr
n
Pr
v.ePag.ListIndex = 0 Else
Pr
n
Pr
v.MousePo
inte
r = vbDefault MsgBox "No pages to
pr
int!", vbInformation, "
Pr
eview non available" Unload
Pr
n
Pr
v End If
Pr
n
Pr
v.MousePo
inte
r = vbDefault End Sub Sub SistemaStatusBar()
vb打印要属性设置
尺寸: 直接设置打印机 Height 和
Width
属性,会自动地将 PaperSize 设置为vb
PR
PSUser。
Pr
inte
r.Height=10*567
Pr
inte
r.
Width
=5*567
Pr
inte
r.Sca
VB 中打印设置中的问题
Pr
inte
r.Height=10*567
Pr
inte
r.
Width
=5*567
Pr
inte
r.
Scale
Width
= 210
Pr
inte
r.
Scale
Height = 297
Pr
inte
r.
Scale
Mode = 6 设置打印的单位
Pr
inte
r.PaperSize = vb
PR
PSA4 定义纸张大小为A4
Pr
inte
r.FontSize = 11 如何用
pr
inte
r设置打
VB打印(1)
Pr
inte
r.Height=10*567
Pr
inte
r.
Width
=5*567
Pr
inte
r.
Scale
Width
= 210
Pr
inte
r.
Scale
Height = 297
Pr
inte
r.
Scale
Mode = 6 设置打印的单位
Pr
inte
r.PaperSize = vb
PR
PSA4 定义纸张大小为A4
Pr
inte
r.FontSize = 11 如何用
pr
i
Scale
width
和
width
的
区别
Scale
width
属性: 当使用图形方法或调整控件位置时,返回或设置对象内部的水平 (
Scale
Width
)度量单位。 其语法为: object.
Scale
Width
[= value] 为了定义基于标准度量单位的比例尺,例如缇、磅、像素、字符、英寸、毫米、或厘米应使用
Scale
Mode 属性。这些属性设置为正值将使坐标从上向下及从左向右增加。它们设置为负值将使坐标从下向上及
VB基础类
7,763
社区成员
197,609
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章