Printer.ScaleWidth ,Printer.Width有何区别?

benlux 2004-04-12 04:39:07
写打印程序时,定义纸张宽度
Printer.ScaleWidth ,Printer.Width有何区别?
同样,Printer.ScaleHeight,Printer.Height
...全文
269 7 打赏 收藏 转发到动态 举报
写回复
用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 是整个屏幕的宽。
内容概要:本文研究了基于QLearning自适应强化学习的PID控制器在自主水下航行器(AUV)中的应用,通过Matlab代码实现了对水下机器人的动力学建模与运动控制。重点探讨了将强化学习算法QLearning与传统PID控制相结合的方法,以提升AUV在复杂、时变及非线性水下环境中的自适应控制能力。文中系统分析了AUV的运动学与动力学特性,阐述了传统PID参数整定面临的挑战,并提出采用QLearning算法在线动态优化PID控制器的比例、积分和微分参数,从而实现对系统误差、响应速度、超调量等性能指标的综合优化。通过Matlab仿真实验验证了该复合控制策略在轨迹跟踪精度、抗外部干扰能力和系统鲁棒性方面的显著优势,充分展示了强化学习在智能水下装备自主控制领域的可行性和应用潜力。; 适合人群:具备自动控制理论基础、强化学习基础知识及Matlab编程能力的研究生、科研人员和自动化、海洋工程、机器人等相关领域的技术研发人员。; 使用场景及目标:①用于水下机器人、无人潜航器等智能移动装备的高精度运动控制系统设计与开发;②开展强化学习与经典控制理论融合创新的教学案例与科学研究;③解决传统固定参数PID控制器在面对模型不确定性和环境扰动时适应性差、控制性能下降的关键问题。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,重点关注QLearning算法中状态空间、动作空间的设计逻辑以及奖励函数的构建原则,深入理解其在参数寻优过程中的作用机制,并可通过调整环境参数和初始条件来测试算法的鲁棒性与泛化能力。
内容概要:本文以有源中点箝位(ANPC)三电平并网逆变器为研究对象,提出并构建了一套融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相控制与电网电压前馈的一体化高性能并网控制策略。通过深入分析ANPC三电平拓扑在开关损耗均衡、中点电位可控性及输出谐波低等方面的结构优势,确立了其作为大功率高质量并网系统的硬件基础。在此基础上,DPWMA调制策略有效提升等效开关频率,显著降低输出电流电压的总谐波畸变率,优化稳态电能质量;正负序分离锁相技术精准剥离电网电压中的负序扰动分量,保障电网不平衡工况下的相位同步精度与并网电流对称性;电网电压前馈控制则通过前瞻性补偿机制,突破传统闭环控制的响应滞后瓶颈,大幅提升系统在电压骤变、畸变等动态扰动下的抗扰能力与动态响应速度。研究通过搭建完整的Simulink仿真模型,在稳态对称、电网不平衡及动态切换等多种工况下进行全面验证,结果表明该复合控制策略在电能质量、运行稳定性与工况适应性方面均具有显著优越性。; 适合人群:具备电力电子、自动控制或新能源并网等相关专业背景,从事科研、工程开发或处于研究生及以上学习阶段的专业技术人员。; 使用场景及目标:①应用于光伏发电、风力发电等新能源系统的大功率并网逆变器高性能控制设计;②解决电网电压不平衡、畸变等复杂非理想工况下的并网稳定性与电能质量问题;③提升工业级并网设备的动态响应速度与运行可靠性;④为相关领域的仿真建模、控制算法开发与性能优化提供系统性的技术参考与实现方案。; 阅读建议:建议结合文中所述的Simulink仿真模型进行实践操作,重点深入理解DPWMA调制的具体实现逻辑、正负序分离锁相环的设计原理以及前馈-反馈复合控制结构的集成方法,通过设置不同工况的对比仿真实验,直观体会各项关键技术对系统整体性能的提升作用。

7,788

社区成员

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

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