VB 第十五讲图形控件和图形方法
《VB程序设计基础》第6章 图形控件和图形方

6.3.1 使用颜色
使用图形方法绘图时总要使用不同的颜色,Visual Basic 6.0使 用的颜色用一个长整型数(通常用16进制)表示,如 &HFFFF00&。其数值由3部分组成:右边的两位(16进制数,下 同)代表红色的亮度值,中间的两位代表绿色的亮度值,左边的 两位代表蓝色的亮度值。 每个亮度值都可以取0~255之间的数值,因此共有1600多万种 不同的颜色取值。 界面设计时可以通过在对象的属性窗口中选择需要设置的颜色 属性,用打开的“调色板”对话框进行颜色设置。 程序运行时,可以使用颜色函数、使用系统预定义颜色常量、 直接赋值或使用通用对话框中的“颜色”对话框来指定颜色。
6.1.3 形状控件
◆ ◆ ◆ ◆ ◆ ◆
工具箱中形状控件的图标为。 形状控件缺省的控件名称为:Shape1、Shape2、……,微软建议 名称前缀为shp。 1.形状控件常用属性 (1) Shape属性。 形状控件用于创建指定的图形,通过设置Shape属性来得到所需 要的形状,画出正方形、矩形、圆和椭圆等。 Shape属性定义该控件显示的图形。取整数值或系统定义的符号 常量,取值及含义如下: 0或VbShapeRectangle:控件形状为矩形 。 1或VbShapeSquare:控件形状为正方形。 2或VbShapeOval:控件形状为椭圆形。 3或VbShapeCircle:控件形状为圆形。 4或VbShapeRoundedRectangle:控件形状为圆角矩形。 5或VbShapeRoundedSquare:控件形状为圆角正方形。
6.2.2 改变容器坐标系的Scale方法
◆ ◆ ◆ ◆
容器坐标系中,坐标系刻度单位的缺省值为“缇”(1缇≈0.01764mm),容器的最 小坐标值为左上角坐标,容器的最大坐标值为右下角坐标。 利用Scale方法可以改变原点的坐标并随之改变最大坐标值,格式为: 容器名.Scale (x1,y1)-(x2,y2) 该语句功能:改变容器(缺省容器名指窗体)左上角坐标为(x1,y1),右下角坐标值为 (x2,y2),将容器在X轴方向分为x2-x1等份、Y轴方向分为y2-y1等份,并将容器的4个坐 标属性设置为: 容器名.ScaleLeft=x1 容器名.ScaleTop=y1 容器名.ScaleWidth=x2-x1 容器名.ScaleHeight=y2-y1
VB图形和绘图操作

VB图形和绘图操作VB图形和绘图操作一、坐标:X值:是沿X轴的位置,窗体中最左端是缺省位置0Y值:是沿Y轴的位置,窗体中最上端是缺省位置0X,Y的值可以小于0,也可以大于容器宽度或高度二、坐标值的刻度:缺省使用缇(Twip)为测量单位. 「Twip」中文译为"缇",是一种和屏幕无关的长度单位,目的是为了让应用程序元素输出到不同设备时都能保持一致的计算方式。
打印机的一个点,即我们说的“磅”,相当于20个 Twips,一英吋相当于 1440个Twips, 一公分(厘米)则相当于567 Twips ,也就是说,如果屏幕上某个对象的长度是1440 Twip的话,将会印出一英吋来。
由于我们在屏幕上操作时会习惯用「像素」(也就是我们常说的屏幕分辨率DPI,系统可以设置各种DPI值),所以我们直接输入数字时必须再将「像素」换算成「Twip」。
当DPI设置为96时(系统默认值),1个像素=(1/96)*1440=15 Twip;当DPI设置为120时,1个像素=(1/120)*1440=12 Twip。
当DPI为96时,如果希望窗体的高是「400」像素,宽是「300」像素,属性的设定值就是:Height=400×15=6000 Twip,Width =300×15=4500 Twip.在VisualBasic应用程序中,屏幕(Screen)是一个对象。
其Width和Height属性以Twip为单位反映出屏幕的宽度和高度。
而TwipsPerPixelX和TwipsPerPixelY这两个属性只与硬件有关,而与屏幕上可设定的分辨率无关。
将Width除以TwipsPerPixelX可以计算出屏幕的水平分辨率(像素数),同样将Height除以TwipsPerPixelY 也可以计算出屏幕的垂直分辨率。
要想保持一个窗口或是控件的物理大小不变,只要计算出设计时的分辨率与实际运行时的分辨率的比值,然后根据这个比值来调节窗口和其中的控件的大小和相对位置,以及显示的字体尺寸,就可以保持同一应用程序的窗口在不同的系统下的物理外观(当然在不同尺寸的显示器上只能保持比例不变,物理大小还是不同的)。
vb图形控件和图形方法

二.AutoSize 属性(逻辑类型)
➢ AutoSize属性值为Ture时,图片框的边界会 随着所装入图片的大小变化而变化。此时在设 计窗体过程中就应该特别小心,图片将不考虑 窗体上其他控件而自动调整大小,可能导致意 想不到的后果,如覆盖其他控件等。所以应慎 用,以免影响窗体界面的完整性。
三.Align属性(整数0~4)
二.Stretch属性(逻辑类型)
➢影响框控件Stretch属性设置为Fakse(默认值)时,可 根据图片的大小手工调整控件的大小,以达到满意的显 示效果;当设置为True时,将根据控件的大小来自动调 整图片的大小,这时若调整影像框的大小,可能会使图 片变形,影响图像的真实显示。
阶段2 影像框控件常用事件
任务2 图片框控件
阶段1 图片框控件常用属性 阶段2 图片框控件常用方法
阶段1 图片框控件常用属性
一.Picture 属性(字符串类型)
⑴ 设计时选取:在界面设计时,选中该图片框控件属性 窗口中该属性,在弹出的Load_Picture对话框中选择所 要显示的图片文件,相应的图片随之被加载到图片框中。 ⑵ 运行时装入:程序运行时,可用LoadPicture函数装 入图片到图片框控件中。
ScaleWidth属性:该属性值为容器自身的宽度值。 ScaleHeight属性:该属性值为容器自身的高度值。 CurrentX、CurrentY属性:分别表示当前点在容器内
的横坐标、纵坐标。
阶段2 改变容器坐标系的Scale方法
➢容器坐标系中,坐标系刻度单位的默认值为 “缇”(1缇≈0.01764毫米),容器的最小坐 标值为左上角坐标,容器的最大坐标值为右下 角坐标。 ➢利用Scale方法可以改变原点的坐标并随之改 变最大坐标值。 格式:容器名.Scale (x1,y1)-(x2,y2)
Vb控件及其属性、方法、事件参考

方法
事件
水平滚动条、垂直滚动条(HScrollBar、VScrollBar)
属性
方法
事件
图片框(PictureBox)
属性
方法
事件
图像框(Image)
属性
方法
事件
图像框(DriverListBox)
属性
Stretch
方法
事件
图像框(DirListBox)
属性
方法
事件
图像框(FileListBox)
Load()
当加载窗体时发生
Unload()
Unload(Cancel As Integer)当要从屏幕上删除窗体时发生
Click()
当用户在一个对象上按下并释放鼠标按钮时发生
DblClick()
当用户在一个对象上按下并释放鼠标按钮后再次按下并释放鼠标按钮时发生
KeyDown()
KeyDown(KeyCode As Integer, Shift As Integer)当用户在拥有焦点的对象上按下任意键时发生
String函数
Function Asc(String As String) As Integer
Function Chr(CharCode As Long)
FunctionFormat(Expression, [Format], [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1])
Function InStr([Start], [String1], [String2], [Compare As VbCompareMethod = vbBinaryCompare])
VB常用控件的方法详解

1.01、窗体(Form)方法1.02、文本框控件(Text)的方法1.03、标签控件(Label)方法1.04、框架控件(Frame)的方法1.05、命令按钮控件(Command)的方法1.08、组合框控件(Combo)的常用方法1.09、列表框控件(List)的方法1.10、滚动条控件(HScrollBar&VScrollBar)的方法1.11、文件系统(File System)控件的方法1.12、形状控件(Shape)的方法1.13、直线控件(Ling)的方法1.14、图片框控件(Picture)的方法1.15、图象控件(Image)的方法1.16、Data控件方法1.17、OLE控件的方法第二章、ActiveX控件的方法2.01、ActiveMoviel控件的常用方法2.02、Adodc控件的常用方法2.03、Animation控件的常用方法2.04、公用对话框(CommonDialog)控件的常用方法2.05、CoolBar控件的常用方法2.06、数据组合列表框(DataCombo)控件的常用方法2.07、数据型电子表格(DataGrid)控件的常用方法2.08、数据列表框(DataList)控件的常用方法2.09、DTPicker控件的常用方法2.10、平面滚动条(FlatScrollBar)控件的常用方法2.11、图像组合框(ImageCombo)控件的常用方法2.12、列表视图(ListView)控件的常用方法2.13、MAPIMessages控件的常用方法2.14、MAPISession控件的常用方法2.15、屏蔽编辑(MaskEdBox)控件的常用方法MSMASK32.OCX2.16、多媒体(MMControl)控件的常用方法2.17、月视图(MonthView)控件的常用方法2.18、图表(MSChart)控件的常用方法2.19、电子表格(MSFlexGrid)控件的常用方法2.20、层次型电子表格(MSHFlexGrid)控件的常用方法。
《计算机程序设计基础》教学课件:8_7_图形控件和图形方法

Private Sub Command1_Click() Form1.ScaleMode = 6 Print Command1.Width
End Sub
17
对坐标系统的总结:
ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight是对 于容器内部的坐标系统来讲的; Left、Top、Width、Height是对于容器(或一般控件) 所在的容器来讲的,与外部的坐标系统有关。
2、Image控件(影像框控件img) 主要作用:显示图片。
影像框比图片框占用的内存少,所以速度较快。 影像框内不能使用Print、Pset、Line、Circle等方法进行绘图和 输出文本,影像框也不能作为其他控件的容器。 除了Picture属性之外,Image控件的一个很重要的属性:Stretch Stretch属性=False,影像框自动改变大小适应其中的图片 Stretch属性=True,图片自动调整尺寸适应影像框 常用事件:与Picture控件类似,如Change、Click等。
End Sub
-200 0
-150
300 X
13
定制坐标系统
定制容器内部的坐标系,除了利用以上所提的 ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight这四个属 性之外,我们还可以利用Scale方法进行定制。
14
定制坐标系统
语法:[容器.]Scale (xLeft,yTop) - (xRight,yBottom)
0
X
ScaleLeft= -30 ScaleTop= -50 ScaleWidth=100 ScaleHeight=110
Y
(70,60)
0
图形框与图像框控件

Visual Basic 为编程人员提供了强大的绘图功能支持,在本章,我们将学会基本的绘图方法。
在 VB 中,主要通过两种办法进行图像绘制:一种是利用 ActiveX 控件,如用图形框显示图片;另外一种是通过使用 VB 语言本身的函数和方法,通过在屏幕上绘制点、线和图形来制作。
一、图形框控件的主要属性:图形框控件(PictureBox)可以用来显示位图、JPGE、GIF、图标等格式的图片,在工具箱面板中,图形框控件的图标如图一:1、Name 属性:命名规则为:PicX ,如 PicMove 、PicShow ,等等。
2、Picture(图片)属性:本属性用来返回或设置控件中要显示的图片,可以通过属性窗口进行设置。
如果要在程序运行过程中载入图片,常常使用 LoadPicture 函数,其语法规则为:对象.Picture = LoadPicture("图形文件的路径与名字")如:PicMove.Picture = Loadpicture("c:\Picts\pen.bmp")3、AutoSize(自动显示)属性:本属性决定了图形框控件是否自动改变大小以显示图片的全部内容。
当值为 True ,图象可以自动改变大小以显示全部内容;当值为 False ,则不具备图象的自我调节功能。
二、图形框控件的主要事件:它可以接收 Click(单击)事件与 DblClick(双击)事件,还可以在图片框中使用 Cls(清屏)、Print 方法。
在实际使用过程中,它多是作为一种图形容器出现,所以常常是跟其他控件搭配使用的,如点击一个按钮,图形框自动装入图片,等等。
三、图像框控件(Image)的主要属性:跟图形框一样,图像框控件也具有诸如 Name、Picture 等属性,以及 Loadpicture 的方法,但在图像自适应问题上有所不同。
PictureBox 用 AutoSize 属性控制图形的尺寸自动适应,而 Image 控件则用 Stretch 属性对图片进行大小调整。
VB15

设计方法:
&字母
下拉式菜单事件菜单项编写单击事件代码。
单击菜单项,在代码窗口输入各菜单项 功能代码
Private Sub ………… 菜单项名_Click()
End Sub
快捷菜单(弹出式菜单)
• 设计一个两层菜单 • 可设顶层菜单项为不可见
• 通过某个事件过程(一般是右击鼠标)
类型。如 Word文挡|*.DOC|文本文件|*.txt|所有文件|*.* 4. InitDir(初始化路径)属性:该属性用来指定打开对话 框中的初始目录,若不设置,系统则默认为“C:\My Documents\”。
例:设计一个简单的图片浏览程序, 可以加载显示图片,也可保存图片。
VB程序中复制文件的语句:
整个数组只能是地址传递。 3. 变量的作用域问题 Call test(a, b + 3, 5,c(4))
局部变量、全局变量特点、作用
应用程序的构成
应用程序
工程文件(.VBP) 窗体模块 (.FRM) 类模块 (.CLS) 标准模块 (.BAS)
子过程 (Sub) 函数过程 (Function)
函数过程 子过程 事件过程 (Function) (Sub) (Sub)
插入(Insert)按钮:插入菜单项
删除(Delete)按钮:删除菜单项
↓和↑按钮:
改变菜单项位置。
例:制作一个编辑器,中间是文本框,菜单 如下所示,对清除、退出、绿色、红色、 查找菜单编写程序代码。
两个框中的子菜单 分别作成控件数组
连续的、相同级别的 子菜单才可以成为控 件数组
编辑菜单步骤
•逐条输入菜单项标题、名称(控件 名,不可少),设置层次关系、相 对位置等。 •下拉菜单分隔线,标题设为“-”
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
另:BorderColor:设置形状的边框颜色; FillStyle:填充类别,取值范围:0-7,分别表示不同的填充方式 FillColor:形状的填充颜色
9
工程训练中心
一、图形控件
例 形状控件实例。在窗体上利用形状控件画一个矩形,名称为 Shape1,高和宽分别为1000、1700;再画两个命令按钮,名称分别为 command1、command2,标题分别为“绿色椭圆”,“红色圆”。
m_x = Rnd * 100 m_y = Rnd * 100 m_red = Rnd * 255 m_green = Rnd * 255 m_blue = Rnd * 255 '设置随即坐标m_x,m_y
'设置随机颜色
PSet (m_x, m_y), rgb(m_red, m_green, m_blue)
7
工程训练中心
一、图形控件
例 交换图形。编写程序,交换两个图像框中的图形。
解题思路:交换两个变量的值一般要引入第三个变量进行交换。本题借助于 第三个图像框实现交换。
Image3.Picture = Image1.Picture
Image1.Picture = Image2.Picture Image2.Picture = Image3.Picture
13
工程训练中心
一、图形控件
3、图形方法
例:窗体上随机画带颜色的点,实现满天星效果。 解题思路:利用随机函数Rnd,确定每个点的随机坐标和颜色的随机值
Dim m_x, m_y, m_red, m_green, m_blue As Long Scale (0, 0)-(100, 100) ' 自定义坐标 DrawWidth = 8 '设置点的大小
其中:图形文件名是包括路径、扩展名在内的图形文件名。
如:picture1.picture=loadpicture(“c:\pic1.jpg”)
3
工程训练中心
一、图形控件
1、图片框(PictureBox)
清除图片框中的图形的方法:
⑴在属性窗口中直接删除Delete Picture属性内容; ⑵ 在代码中使用LoadPicture()函数清除图片:
一、图形控件
2、图像框 (Image)
与图片框的区别:
⑴图片框是容器控件,而图像框不能作为容器; ⑵图片框可以利用Print方法显示文本,图像框则不能;
⑶图像框比图片框占用内存少,显示速度快;
⑷图片框用AutoSize属性控制图片框的尺寸自动适应图片的大 小,图像框用Stretch属性对图片进行大小调整;
一、图形控件
1、图片框(PictureBox)
图片框还可以显示用Print方法产生的文本和用图形方法绘制的图形,
如在图片框上显示文字: picture1.print “hello” 清除图片框上的文字信息的方法: 图片框对象名.Cls 如:Pictures.cls
6
工程训练中心
Private Sub Form_Click() P1.Picture = LoadPicture("d:\pic1.jpg") End Sub Private Sub Form_DblClick() P1.Picture = LoadPicture() End Sub
5
工程训练中心
⑵BorderWidth:用于设置线条的宽度,即线条的粗细
⑶BorderColor:由于设置线条的颜色;
11
工程训练中心
一、图形控件
3、图形方法
(1)自定义坐标系: 使用绘图方法,首先确定所画图形的位置,这就需要先确定坐标系。 当新建一个窗体时,新窗体采用缺省坐标系,坐标原点在窗体左上角, 其中窗体:Scale Height 和Scale Width为窗体的实际可用的高度和宽度。 自定义坐标系的方法: [对象名].Scale[(xLeft,yTop)-(xRight,yBottom)] 其中:(xLeft,yTop)、(xRight,yBottom)为对象左上角和右下角坐标
14
'画点
工程训练中心
一、图形控件
2、画直线、矩形方法 Line方法可用于画直线和矩形; 格式:[对象名].Line[Step(x1,y1)]-[Step](x2,y2)[,颜色][,B[F]] 其中: 对象名:窗体或图片框(picturebox); Step:可选项,有该参数时,表示坐标为相对于当前点的坐标,否 则为绝对坐标。 (x1,y1):起点坐标;若省略,则以当前点位起点; (x2,y2):终点或右下角坐标 颜色:直线或矩形的颜色,若省略则使用ForeColor属性指定的颜色 B:若有B,则以点(x1,y1)-点(x2,y2)为对角线填充为矩形; F:在选择参数B后才能选择,有F表示矩形以矩形边框的颜色 填充,否则,矩形用属性Fillcolor和Fillstyle填充;
xleft,ytop
左上角坐标
窗体
右下角坐标
xright,ybottom
12
工程训练中心
一、图形控件
3、图形方法
1、画点方法:Pset 用于在指定的位置以指定的颜色画点。 格式: [对象名].Pset [step] (x,y) [,颜色] 其中:对象名:窗体或图片框(picturebox)的名称; Step:可选项,有该参数,表明所画的点坐标(x,y)是相对坐标 (相对于当前坐标点),没有该参数,点坐标(x,y)为绝对坐标。 颜色:点的颜色,若省略则采用对象的前景色(ForeColor)。 如: Pset(200,300),vbred „在(200,300 )处画一红色的点
16
工程训练中心
一、图形控件
3、画圆方法 Circle方法用于画圆、椭圆、圆弧和扇形; 格式: [对象名].Circle[Step](x,y),radius,[color],[start],[end][,aspect] 其中: 对象名:窗体或图片框; Step:可选项,有该参数时表示坐标为相对于当前点的坐标,否则 为绝对坐标。 (x,y):中心坐标 Radius:半径 Color:边框颜色,若省略则使用ForeColor属性指定的颜色; Start,End:指定弧的起始、终止位置,以弧度为单位, 取值:-2π~2π;负号表示在画弧的同时,还画出圆心到弧的 的端点的连线; Aspect:表示纵轴和横轴的尺寸比,Aspect<1,则表示在x轴方向画 椭圆,Aspect>1,表示在y轴方向画椭圆,默认为1;
Private Sub Command1_Click() Shape1.Shape = 2 Shape1.BorderColor = vbGreen End Sub Private Sub Command2_Click() Shape1.BorderColor = vbRed Shape1.Shape = 3 End Sub
18
工程训练中心
一、 图形控件
1、图片框 (PictureBox)
图片框(PictureBox)主要用来显示图片和图像。 可以显示的图形文件格式:位图(*.bmp);图标(*.ico)、光标(*.cur)、 元文件(*.wmf)、增强的元文件(*.emf)、JPEG文件(*.jpg)、GIF文件 (*.gif); 在图片框中显示图片的方法: ⑴在属性窗口设置Picture属性; ⑵ 在代码中使用LoadPicture()函数载入图片: 图片框对象名.Picture=LoadPicture(“图形文件名”)
8
工程训练中心
一、图形控件
1、形状(Shape)
功能:用来画矩形、正方形、椭圆、圆、圆角矩形及圆角正方形。 形状控件放置到窗体上或图片框上时,原始显示为正方形,通过设置 Shape属性可得到需要的图形。
Shape属性值 0 1 2 形状 矩形(默认) 正方形 椭圆
3
4 5
圆
图片框对象名.Picture=LoadPicture(“”)
或 图片框对象名.Picture=LoadPicture() 图片框自动缩放: 修改AutoSize属性值为True,则图片框自动适应图形的大小。
4
工程训练中心
一、图形控件
例 图片框示例。在窗体上画一个图片框,名为P1,高为1900,宽为 2400,编写适当的事件过程,使得在运行时若单击窗体,则装入名为Pic1.jpg 的图形文件,若双击窗体,则窗体中的图片消失。 解题思路:装入图片的方法:Loadpicture(“d:\pic1.jpg”); 清除图片的方法:Loadpicture(“”)或Loadpicture();
'shape=2为椭圆 '边框为绿色
'边框颜色为红色 'shape=3为圆
10
工程训练中心
一、图形控件
2、直线(Line)
功能:用来画水平线、垂直线或对角线。 通过设置该控件的位置、长度、颜色、宽度、线型等属性可产生不同风 格的、不同颜色的直线。
⑴BorderStyle:用于设置线条的类型,0-7表示不同的线型;
17
工程训练中心
一、图形控件
3、画圆方法
例:用Circle方法画圆。
Scale (0, 0)-(100, 100) '自定义坐标系 Const pi = 3.1415926 Circle (25, 50), 20 „画标准圆 Circle (75, 50), 20, , 1.25 * pi, 1.75 * pi „画圆弧 Circle (75, 50), 20, , -0.25 * pi, -0.75 * pi '画扇形 Circle (50, 70), 20, , -0.25 * pi, 0.75 * pi '画扇形 Circle (25, 50), 20, vbGreen, , , 0.5 '画绿色椭圆,纵横比0.5 Circle (25, 50), 20, vbRed, , , 2 '画红色椭圆,纵横比2