优秀的手机游戏下载!
首页 窗体的scalemode属性用于指定

窗体的scalemode属性用于指定

发布时间:2024-11-28 15:36:50 编辑:手游哥 浏览:114

ScaleMode主要用于在控件上画图,可以改变计量单位,如果你仅显示图片,可以不必考虑这些属性。

=================================================

ScaleMode 属性【引用MSDN】

当使用图形方法或调整控件位置时,返回或设置一个值,该值指示对象坐标的度量单位。

语法

object.ScaleMode [=

value]

ScaleMode

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

部分

描述

Object

对象表达式,其值是“应用于”列表中的一个对象。

Value

一个指定度量单位的整数,“设置值”中有详细描述。

设置值

value 的设置值为:

常数

设置值

描述

VbUser

0

指出 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的设置值将发生改变以反映当前点的新坐标。

scalewidth是什么

指的是PictureBox中长度单位, 比如 1 pixel(像素) = 15 Twips(缇)

这种设置横重要, 一般来讲不要修改为Twip以外的其他单位, 否则回给编程带来麻烦

怎么用vb实现图形的旋转?

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 如何打开窗口就自动用PictureBox绘图

启动vb6建立一个标准exe工程,首先添加两个图片框(picture1和picture2),添加三个命令按钮command1(caption=“正常显示”)、command2(caption=“180度倒立”)、command3(caption=“45度旋转”),双击窗体,写入以下代码:

PrivateConstSRCCOPY=&ampHCC0020

PrivateConstPi=3.14

PrivateDeclareFunctionSetPixelLib”gdi32”(ByValhdcAsLong, ByValxAsLong,ByValyAsLong,ByValcrColorAsLong)AsLong

PrivateDeclareFunctionGetPixelLib”gdi32”(ByValhdcAsLong, ByValxAsLong,ByValyAsLong)AsLong

PrivateDeclareFunctionStretchBltLib”gdi32”(ByValhdcAsLong, ByValxAsLong,ByValyAsLong,ByValnWidthAsLong,ByValnHeightAsLong, ByValhSrcDCAsLong,ByValxSrcAsLong,ByValySrcAsLong,ByValnSrcWidth AsLong,ByValnSrcHeightAsLong,ByValdwRopAsLong)AsLong

privateSubbmp_rotate(pic1AsPictureBox,pic2AsPictureBox,ByValtheta)‘45度旋转

Dimc1xAsInteger,c1yAsInteger

Dimc2xAsInteger,c2yAsInteger

DimaAsSingle

Dimp1xAsInteger,p1yAsInteger

Dimp2xAsInteger,p2yAsInteger

窗体的scalemode属性用于指定

DimnAsInteger,rAsInteger

c1x=pic1.ScaleWidth\2

c1y=pic1.ScaleHeight\2

c2x=pic2.ScaleWidth\2

c2y=pic2.ScaleHeight\2

Ifc2x$#@60c2yThenn=c2yElsen=c2x

n=n-1

pic1hDC=pic1.hdc

pic2hDC=pic2.hdc

Forp2x=0Ton

Forp2y=0Ton

Ifp2x=0Thena=Pi/2Elsea=Atn(p2y/p2x)

r=Sqr(1&amp*p2x*p2x+1&amp*p2y*p2y)

p1x=r*Cos(a+theta)

p1y=r*Sin(a+theta)

c0&amp=GetPixel(pic1hDC,c1x+p1x,c1y+p1y)

c1&amp=GetPixel(pic1hDC,c1x-p1x,c1y-p1y)

c2&amp=GetPixel(pic1hDC,c1x+p1y,c1y-p1x)

c3&amp=GetPixel(pic1hDC,c1x-p1y,c1y+p1x)

Ifc0&amp$#@60$#@62-1ThenSetPixelpic2hDC,c2x+p2x,c2y+p2y,c0

Ifc1&amp$#@60$#@62-1ThenSetPixelpic2hDC,c2x-p2x,c2y-p2y,c1

Ifc2&amp$#@60$#@62-1ThenSetPi pic2hDC,c2x+p2y,c2y-p2x,c2

Ifc3&amp$#@60$#@62-1ThenSetPixelpic2hDC,c2x-p2y,c2y+p2x,c3

Next

Next

EndSub

PrivateSubCommand1_Click()‘正常复制

Picture2.Cls

px=Picture1.ScaleWidth

py=Picture1.ScaleHeight

StretchBltPicture2.hdc,px,0,-px,py,Picture1.hdc,0,0,px,py,SRCCOPY

EndSub

PrivateSubCommand2_Click()‘180度倒立

Picture2.Cls

px=Picture1.ScaleWidth

py=Picture1.ScaleHeight

StretchBltPicture2.hdc,0,py,px,-py,Picture1.hdc,0,0,px,py,SRCCOPY

EndSub

PrivateSubCommand3_Click()‘45旋转

Picture2.Cls

Callbmp_rotate(Picture1,Picture2,3.14/4)

EndSub

PrivateSubForm_Load()

OnErrorResumeNext

Me.Caption=App.Title”添加应用程序标题

Me.Left=(Screen.Width-Me.Width)/2

Me.Top=(Screen.Height-Me.Height)/2”窗体具中

Picture1.ScaleMode=3

Picture2.ScaleMode=3

EndSub

添加一个按钮,添加以下代码

private

sub

command1_click()

’设为像素模式,绘图时的单位

me.picture1.scalemode

=

3

me.picture2.scalemode

=

3

me.picture3.scalemode

=

3

’无边框模式,否则边框会减小图片

me.picture1.borderstyle

=

0

me.picture1.fillstyle

=

0

me.picture2.borderstyle

=

0

me.picture2.fillstyle

=

0

’前两个自动大小,这样可以知道图片大小

me.picture1.autosize

=

true

me.picture2.autosize

=

true

’自动重画,否则图片会消失

me.picture3.autoredraw

=

true

me.picture3.paintpicture

me.picture1.picture,

0,

0

me.picture3.paintpicture

me.picture2.picture,

me.picture1.scalewidth,

0

end

sub

以上就是关于窗体的scalemode属性用于指定全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

ScaleMode主要用于在控件上画图,可以改变计量单位,如果你仅显示图片,可以不必考虑这些属性。 ==============================…
查看详情
ScaleMode主要用于在控件上画图,可以改变计量单位,如果你仅显示图片,可以不必考虑这些属性。 ==============================…
查看详情
ScaleMode主要用于在控件上画图,可以改变计量单位,如果你仅显示图片,可以不必考虑这些属性。 ==============================…
查看详情
相关资讯
猜你喜欢