【在线等,立给分】VB6窗体大小的值怎么是4800多?

zyxz001 2012-02-18 12:16:52
Width 4800多。
它和VC的大小是怎么换算的?
谢谢各位高人~~~
...全文
218 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2012-02-20
  • 打赏
  • 举报
回复
显示属性设置中,默认的“正常尺寸(96 DPI)”下,就是 1 pixels = 15 twips,符合大多数情况。
精确的如下:新建工程,在 Form1 中添加代码
Option Explicit

Private Sub Form_Load()
Me.AutoRedraw = True
Me.Print "每像素大小:" & Screen.TwipsPerPixelX & "x" & Screen.TwipsPerPixelY
Me.Print "窗体大小(像素):" & Me.ScaleX(Me.Width, vbTwips, vbPixels) & "x" & Me.ScaleY(Me.Height, vbTwips, vbPixels)
End Sub

[Quote=通常输出为:]每像素大小:15x15
窗体大小(像素):320x240[/Quote]
赵4老师 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tiger_zhao 的回复:]
显示属性设置中,默认的“正常尺寸(96 DPI)”下,就是 1 pixels = 15 twips,符合大多数情况。
精确的如下:新建工程,在 Form1 中添加代码

VB code
Option Explicit

Private Sub Form_Load()
Me.AutoRedraw = True
Me.Print "每像素大小:" & Scree……
[/Quote]
学习啦。
clear_zero 2012-02-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 worldy 的回复:]

引用 2 楼 clear_zero 的回复:
twip和像素的区别吧,大概是1像素=15 twip


不同的硬件,twip和像素的转换系数会不一样
[/Quote]
我没说一定是15,注意看大概两个字
worldy 2012-02-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 clear_zero 的回复:]
twip和像素的区别吧,大概是1像素=15 twip
[/Quote]

不同的硬件,twip和像素的转换系数会不一样
polon 2012-02-18
  • 打赏
  • 举报
回复
注意单位
clear_zero 2012-02-18
  • 打赏
  • 举报
回复
twip和像素的区别吧,大概是1像素=15 twip
worldy 2012-02-18
  • 打赏
  • 举报
回复
Vb基本尺度单位是Twip,VC是使用像素单位
你可以使用窗口或者控件的ScaleX,ScaleY方法进行单位换算

ScaleX、ScaleY 方法


用以将 Form,PictureBox 或 Printer 的宽度或高度值从一种 ScaleMode 属性的度量单位转换到另一种。不支持命名参数。

语法

object.ScaleX (width, fromscale, toscale)

object.ScaleY (height, fromscale, toscale)

ScaleX 和 ScaleY 方法的语法包含如下部分:

部分 描述
object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,则带有焦点的 Form 对象缺省为 object。
width 必需的。为 object 指定被转换的度量单位的数量。
height 必需的。为 object 指定被转换的度量单位的数量。
fromscale 可选的。一个常数或数值,按照下列设置中的描述,指定 object 的 width 或 height 从哪一种坐标系统转换。fromscale 可取的数值与 ScaleMode 属性的数值加上 HiMetric 的新数值相同。
toscale 可选的。一个常数或数值,按照下列“设置值”中的描述,指定 object 的 width 或 height 转换到哪一种坐标系统。toscale 可取的数值与 ScaleMode 属性的数值加上 HiMetric 的新数值相同。


设置值

用于 fromscale 和 toscale 设置值有:

常数 值 描述
vbUser 0 用户定义:指示 object 的宽度和高度设置为自定义值。
vbTwips 1 缇(每逻辑英寸 1440 缇;每逻辑厘米 567 缇)。
vbPoints 2 磅(每逻辑英寸 72 点)。
vbPixels 3 像素 (显示器或打印机分辨率的最小单位)。
vbCharacters 4 字符(水平 = 每单位 120 缇,垂直 = 每单位 240 缇)。
vbInches 5 英寸
vbMillimeters 6 毫米
vbCentimeters 7 厘米
vbHimetric 8 HiMetric。如果省略 fromscale,则 HiMetric 为缺省值。
vbContainerPosition 9 决定控件位置。
vbContainerSize 10 决定控件大小。


说明

ScaleX 和 ScaleY 方法按 fromscale 指定的度量单位取值(width 或 height),并将它转换为 toscale 指定的度量单位下相应的值。

也可以结合 PaintPicture 方法使用 ScaleX 和 ScaleY。

1,451

社区成员

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

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