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 txtEnd FunctionPrivate 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.EndDocEnd Sub
请问vb中为什么要用到ScaleMode?为什么在有left top height width这些属性之后要引入ScaleMode?
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的设置值将发生改变以反映当前点的新坐标。
求教下VB里面CIRCLE的用法
画圆Circle 方法可画出圆形和椭圆形的各种形状。另外,Circle 方法还可以画出圆弧(圆的一部分)和楔形饼块。使用变化的 Circle 方法,可画出多种曲线。画圆的完整语法是:[object.]Circle [Step](x, y), radius[, color]如果不指定 object,则默认是当前的窗体。x 和 y 是圆心的坐标,radius 是圆的半径。例如,下面语句将画出一个以 (1200,1000) 为圆心、750 为半径的圆:Circle (1200, 1000), 750这个语句产生的精确作用,还要依赖于窗体的大小和窗体的坐标系。如果不知道窗体的大小,也就不能知道这个圆是否可见。可使用绘图区的标尺属性,将该圆的圆心置于窗体的中心处:Circle ((ScaleWidth + ScaleLeft) / 2, (ScaleHeight + ScaleTop) / 2), ScaleWidth / 4在默认情况下 ScaleLeft=0, ScaleTop=0 ,所有两者可以省略。数字的单位取决于ScaleMode,默认是1 - twip,1像素约=15 twip。画圆弧为了用 Circle 方法画出圆弧,应以弧度为单位,给出定义弧线 start 和 end 的角度参数。画圆弧的语法是:[object.]Circle [Step](x, y), radius, [color], start, end[, aspect]如果 start 或 end 是负数将画出一个饼。 Const PI = 3.14159265 Circle (3500, 1500), 1000, , –PI / 2, –PI / 3注意 将度换算成弧度的公式是将度数乘以 Pi/180。窗体中以 Scale 开头的几个属性用于设定自定义坐标,从文字上看其实定义的是坐标系的第四象限。ScaleLeft, ScaleTop 设置原点位置,默认为0,即窗体的左上角,如果设置为ScaleLeft = me.Width / 2ScaleTop = me.Height / 2 则原点在窗体的中央ScaleHeight, ScaleWidth 设置坐标系与窗体实际尺寸的比例,这是通过数值而不是比例系数来表示的,即当窗体的 Width=3000 时设置ScaleWidth=1500则坐标系的数值是实际值的2倍,半径为100的圆将显示为200的大小 注意:设置坐标系的语句应该在Resize事件中。
全屏播放 Flash(AS)
1 、全屏播放 Flash
“ Fullscreen ”是全屏的意思,在默认的情况下, Flash 动画不是以全屏播放( false ),如果需要让动画以全屏状态播放,就必须把 Fullscreen 命令设置为 True ,写为:
Fscommand ("Fullscreen","True");
根据需要,我们可以把它写到帧、按钮、 MC ( Movie Clip )中。
2 、取消右键菜单
Showmenu 命令是用来设置是( True )否( false )显示 Flash 动画播放器的快捷菜单的全部指令,即右击鼠标时弹出的菜单,默认为 True ,如果要取消弹出的菜单,必须在第一帧这样设置:
Fscommand ("showmenu","false");
3 、关闭动画
quit 命令是用来关闭播放器的 .swf 和 .exe 文件,该命令没有参数,写为:
fscommand ("quit") ;
如果你想在 flash 动画结束时出现一个关闭动画的按钮,可以按下面的步骤做。
执行“ Insert ”下的“ New Symbol ”(或按 Ctrl+F8 ),在弹出的窗口中选 Button ,然后制作一个简单的按钮,回到场景中,选中最后一帧,从“ Library ”中把刚刚建立的按钮拖到场景中,因为该按钮在动画的最后才显示。
给按钮写上如下代码,则实现按下按钮即关闭 flash 动画。
on (release)
{
fscommand ("quit"); �
}
VB图片拼接
Function CombineImgVertical(ByVal ParamArray sImgPathes() As String) As Image Dim iImgWidth As Integer = 0 Dim iImgHeight As Integer = 0 For Each sImgPath As String In sImgPathes Using fs As New System.IO.FileStream(sImgPath, IO.FileMode.Open, IO.FileAccess.Read) Using img As Image = Image.FromStream(fs) iImgHeight += img.Height If iImgWidth < img.Width Then iImgWidth = img.Width End Using End Using Next Dim iDrawY As Integer = 0 Dim iReturn As New Bitmap(iImgWidth, iImgHeight) Using gr As Graphics = Graphics.FromImage(iReturn) For Each sImgPath As String In sImgPathes Using fs As New System.IO.FileStream(sImgPath, IO.FileMode.Open, IO.FileAccess.Read) Using img As Image = Image.FromStream(fs) gr.DrawImage(img, 0, iDrawY) iDrawY += img.Height End Using End Using Next End Using Return iReturn End Function
vb字符串的拼接
VB字符串拼接可使用& 运算符。& 运算符,用来强制两个表达式作字符串连接。& 运算符示例本示例使用 & 运算符将字符串串接起来。Dim MyStrMyStr = "Hello" & " World" ' 返回 "Hello World"。MyStr = "Check " & 123 & " Check" ' 返回 "Check 123 Check"。在某些场合,没数字类型常量存在可用+号替代&。Private Sub Command1_Click() Dim MyStr MyStr = "Hello" + " World" Debug.Print MyStr MyStr = "Check " + "123" & " Check" Debug.Print MyStrEnd Sub
VB中怎么在Picture中鼠标点击三下连线画出三角形
Dim x1 As Integer, y1 As Integer, d As IntegerPrivate Sub Form_Load()x1 = -1y1 = -1End SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button 1 Then Exit SubIf x1 = -1 Then Picture1.PSet (X, Y), vbRed x1 = X y1 = Y Else Picture1.Line -(X, Y), vbRed d = d + 1 If d < 2 Then Exit Sub Picture1.Line (X, Y)-(x1, y1), vbRed x1 = -1 y1 = -1 d = 0 End IfEnd Sub