vbc 直线控件工具控件怎么用

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
【精品】vb6.0图形控件和图形方法
下载积分:760
内容提示:【精品】vb6.0图形控件和图形方法
文档格式:PPT|
浏览次数:117|
上传日期: 10:50:42|
文档星级:
全文阅读已结束,如果下载本文需要使用
 760 积分
下载此文档
该用户还上传了这些文档
【精品】vb6.0图形控件和图形方法
官方公共微信网页设计教程与开发
提供各种常见网页效果
提供各种各样的设计教程
装扮QQ,让QQ变得更酷
设计参考,提高自升水平
学习服务器和操作系统
提供各种素材和工具
收藏学习资料
您现在的位置:&&>>&&>>&&>>&&>>&正文
vb.net入门――ToolBar 控件的使用
在一些有复杂菜单或者命令的Windows应用程序中,通常会使用到工具栏,它通常是以普通按钮、下拉菜单或者分隔符的形式显示的,一般情况下,工具栏上的按钮或菜单式与应用程序的菜单中的项对应,给用户提供了对应用程序的一些常用菜单的快捷访问,如下图一红圈内部分所示就是IE的工具栏:
在vb.net中,我们是用ToolBar 控件来制作工具栏的,它在工具箱中如下图二所示:
一个完整的工具栏一般包括命令按钮、命令按钮上显示的图标、命令按钮响应的命令。所以我们设计工具栏的时候,需要为 ToolBar 控件添加按钮,然后为按钮关联相关的图标,最后为按钮设计它所要响应的命令代码。
1、在设计时添加按钮
1)、选择窗体上的“工具栏”(ToolBar) 控件,在“属性”窗口中单击 Buttons 属性后的省略号按钮打开 ToolBarButton 集合编辑器。
2)、使用“添加”和“移除”按钮分别向“工具栏”(ToolBar) 控件添加按钮和从中移除按钮。
3)、配置编辑器右侧窗格中出现的“属性”窗口中单个按钮的属性。要考虑的重要属性包括:
DropDownMenu
设置要在下拉工具栏按钮中显示的菜单。工具栏按钮的 Style 属性必须设置为 DropDown Button。该属性将 ContextMenu 类的一个实例作为引用。有关示例,请参见下面的代码实例。
PartialPush
设置切换样式的按钮是否为部分下压。工具栏按钮的 Style 属性必须设置为 ToggleButton。
设置切换样式的工具栏按钮当前是否处于下压状态。工具栏按钮的 Style 属性必须设置为 ToggleButton 或 PushButton。
设置工具栏按钮的样式。必须是 ToolBarButtonStyle 枚举中的值之一。
按钮显示的文本字符串。
ToolTipText
显示为按钮的工具提示的文本。
4)、最后单击“确定”即可创建我们的工具栏了。
注意:如果工具栏按钮的 Style 属性设置为 DropDown Button,即设置为下拉菜单样式(如图三所示),则必须在窗体上另外布置一个上下文菜单组件(ContextMenu),然后把该按钮的 DropDownMenu 属性关联到 ContextMenu 组件,如下图四所示:
2、以编程方式添加按钮
1)、在过程中,创建工具栏按钮,将这些按钮添加到 ToolBarButtons 集合中。
2)、通过 Buttons 属性传递按钮的索引来指定单个按钮的属性设置。
如下代码所示:(注意&& ToolBarButtons 集合是一个从零开始的集合,所以应按相应的初始值编写代码)
Public Sub CreateToolBarButtons()
'创建新的按钮
ToolBar1.Buttons.Add("一")
ToolBar1.Buttons.Add("二")
ToolBar1.Buttons.Add("三")
ToolBar1.Buttons.Add("四")
'以按钮的索引设置单个按钮的属性
ToolBar1.Buttons(0).Style = ToolBarButtonStyle.PushButton
ToolBar1.Buttons(1).Style = ToolBarButtonStyle.Separator
ToolBar1.Buttons(2).Style = ToolBarButtonStyle.ToggleButton
ToolBar1.Buttons(3).Style = ToolBarButtonStyle.DropDownButton
ToolBar1.Buttons(2).PartialPush = True
'为按钮关联下拉菜单
Dim cm As New ContextMenu()
Dim miOne As New MenuItem("一")
Dim miTwo As New MenuItem("二")
Dim miThree As New MenuItem("三")
cm.MenuItems.Add(miOne)
cm.MenuItems.Add(miTwo)
cm.MenuItems.Add(miThree)
ToolBar1.Buttons(3).DropDownMenu = cm
ToolBar1.Buttons(0).Pushed = True
ToolBar1.Buttons(1).ToolTipText = "按钮二"
把 CreateToolBarButtons 过程放到窗体的 New() 过程中,运行后效果如下图五所示:
二、为按钮显示图标
工具栏按钮中显示图标可以使用户便于识别按钮。我们是通过向 ImageList 组件(相关文章单击这里参看)添加图像,然后使 ImageList 组件与“工具栏”(ToolBar) 控件关联。
1、在设计时设置工具栏按钮的图标
1)、将 ImageList 组件从“工具箱”拖到窗体上。
2)、在“属性”窗口中,单击 Images 属性,并向 ImageList 控件添加图像。
3)、将 ToolBar 控件从工具箱拖到窗体上。
4)、在“属性”窗口中,将 ToolBar 控件的 ImageList 属性设置为前面添加的 ImageList 控件。
5)、单击 ToolBar 控件的 Buttons 属性选择该属性,然后单击省略号按钮打开 ToolBarButton 集合编辑器。
6)、使用“添加”按钮向 ToolBar 控件添加按钮。
7)、在 ToolBarButton 集合编辑器右侧窗格中出现的“属性”窗口中,将每个工具栏按钮的 ImageIndex 属性设置为列表中的值之一,该值是从向 ImageList 组件添加的图像中提取的。
2、以编程方式设置工具栏按钮的图标
1)、在过程中,实例化一个 ImageList 组件和一个 ToolBar 控件。
2)、在同一过程中,向该 ImageList 组件分配一个图像。
3)、在同一过程中,向该 ToolBar 控件分配 ImageList 控件,并分配单个工具栏按钮的 ImageIndex 属性。
代码如下:
Public Sub InitializeMyToolBar()
Dim ImageList1 As New ImageList
Dim myImage As System.Drawing.Image = Image.FromFile("C:\icon\1.ico")
ImageList1.Images.Add(myImage)
ToolBar1.ImageList = ImageList1
ToolBar1.Buttons(0).ImageIndex = 0
把该过程和前面的过程一起放在窗体的New()过程中,运行效果如下图六所示:
三、处理工具栏上的 Click 事件
我们在发生 ToolBar 控件的 ButtonClick 事件时,计算 ToolBarButtonClickEventArgs 类的 Button 属性,然后根据对应的属性来触发我们需要的代码过程即可。
为 ToolBar 控件的 ButtonClick 事件添加事件处理程序。使用 Select Case 语句和ToolBarButtonClickEventArgs 类来确定单击的工具栏按钮。并据此显示相应的消息框。
如下代码所示:
Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
Select Case ToolBar1.Buttons.IndexOf(e.Button)
MessageBox.Show("First toolbar button clicked")
MessageBox.Show("Second toolbar button clicked")
MessageBox.Show("Third toolbar button clicked")
End Select
运行,单击工具栏上的按钮,则响应该按钮索引所对应的代码,如下图七所示:
很明显,我们如果要相应对应的菜单,只需要把MessageBox.Show("First toolbar button clicked")代码替换为菜单的事件过程即可
转载请注明:破洛洛(谢谢合作)
上一篇文章: 下一篇文章:
网友评论:picture控件-VB图形和绘图操作
图形和绘图操作
&&& 坐标系统 使用颜色
使用绘图工具 使用图形方法绘图
X值:是沿X轴点的位置,窗体中最左端是缺省位置0 是沿X轴点的位置,窗体中最左端是缺省位置0
是沿Y轴点的位置,窗体中最上端是缺省位置0 Y值:是沿Y轴点的位置,窗体中最上端是缺省位置0 X,Y的值可以小于 的值可以小于0
X,Y的值可以小于0,也可以大于容器宽度或高度
&&& 相对于Form1
(0,0) 相对于Form1 () 相对于Frame1 (0,0)
坐标值的刻度
&&& 缺省使用缇(
缺省使用缇(Twip)为测量单位. )为测量单位. 缇是打印机的一磅的1/20(1440缇等于一英寸;567缇 缇等于一英寸;
缇是打印机的一磅的 ( 缇等于一英寸 缇 等于一厘米) 这些测量值指示对象打印后的大小. 等于一厘米 ) .
这些测量值指示对象打印后的大小 . 利用缇可以精确地控制图形打印输出的质量. 利用缇可以精确地控制图形打印输出的质量.
通过设置控件的ScaleMode属性 , 可以采用不同的刻 属性, 通过设置控件的 属性 度 来表示坐标值
ScaleMode属性 属性
ScaleMode属性,可以取以下常量值: 属性,可以取以下常量值: 属性
&&& vbUser :
0 , 用 户 自 定 义 . 若 直 接 设 置 了 ScaleWidth , ScaleHeight,ScaleTop 或
ScaleLeft,则 ScaleMode 属性自动 , , 设为 0 vbTwips(缺省值):1,缇 (缺省值) ,
vbPoints:2, vbPoints:2,磅,72磅等于一英寸 72磅等于一英寸
vbPixels:3,像素.像素是监视器或打印机分辨率的最小单位, : ,像素.像素是监视器或打印机分辨率的最小单位,
每英寸里像素的数目由设备的分辨率决定 vbCharacters: 4, 字符 . 打印时 , 一个字符有 1/6 英寸高 , 英寸高,
: , 字符. 打印时, 1/12 英寸宽 vbInchs:5,英寸 : , vbMillimeters:6,毫米 : ,
vbCentimeters:7,厘米 : ,
指定颜色有四种方式: 指定颜色有四种方式:
使用RGB函数,该函数有三个参数,分别取值0 255; RGB函数 1) 使用RGB函数,该函数有三个参数,分别取值0-255;
使用QBColor 函数, 该函数有一个参数, 取值0 15, QBColor函数 2) 使用 QBColor 函数 ,
该函数有一个参数 , 取值 0-15 , 16种 QuickBasic颜色中的一种 颜色中的一种; 16种Microsoft
QuickBasic颜色中的一种; 使用内部描述颜色的常量, vbR 3) 使用内部描述颜色的常量,如vbR
直接输入一种颜色值. 4) 直接输入一种颜色值.
&&& 1) 调色板颜色值
: 正常的 RGB 颜色的有效范围 , 是从 0 到 调色板颜色值: 正常的RGB 颜色的有效范围, 是从0 RGB颜色的有效范围
16,777,215(&HFFFFFF&)
16,777,215(&HFFFFFF&).即可以用十六进制数按照下 述语法来指定颜色:
述语法来指定颜色:&HBBGGRR& 2) 系统颜色值:最高位设置为 时,颜色值不再代表 系统颜色值:最高位设置为1时
颜色值不再代表RGB颜 颜 而是从Windows"控制面板"指定的系统环境范围颜 控制面板" 色,而是从 控制面板
这些数值对应的系统颜色范围是从&H到 色 . 这些数值对应的系统颜色范围是从 到
图形框,图像框,直线和形状控件
&&& 图形框控件(
图形框控件(PictureBox)用于显示图片和图像, )用于显示图片和图像, 或作为其它控件的容器. 或作为其它控件的容器.
图像框控件( 图像框控件(Image)也可以用于显示图片和图像, )也可以用于显示图片和图像,
Image控件是轻量图形控件,需要较少的系统资源, 控件是轻量图形控件, 控件是轻量图形控件 需要较少的系统资源, 显示速度较快.
显示速度较快. 直线控件(Line)用于画线. 直线控件(Line)用于画线. 形状控件(Shape)用于构造简单的图形,
形状控件(Shape)用于构造简单的图形,如:正 方形,圆形,圆角正方形等. 方形,圆形,圆角正方形等.
PictureBox控件 PictureBox控件
此控件用于显示图像, 此控件用于显示图像 和作为其它控件的容器 Picture属性 指定显示图像 属性, 属性 1.
设计时在"属性窗口"中的Picture属性栏中,选择图片 设计时在"属性窗口"中的Picture属性栏中, Picture属性栏中
文件,就可将图片加载到PictureBox控件中; PictureBox控件中 文件,就可将图片加载到PictureBox控件中;
2. 从其它应用程序中复制图形后把它粘贴到PictureBox控 从其它应用程序中复制图形后把它粘贴到PictureBox
PictureBox控 件中. 件中. 3. 在程序中使用LoadPicture函数对Picture属性赋值,因
在程序中使用LoadPicture函数对Picture属性赋值, LoadPicture函数对Picture属性赋值
Picture属性是对象类型 所以需要使用Set关键字, 属性是对象类型, Set关键字
为Picture属性是对象类型,所以需要使用Set关键字, 如: Set Picture1.Picture =
LoadPicture("d:\map\中国 中国.jpg") 中国 Set Picture2.Picture =
LoadPicture("d:\map\美国 美国.jpg") 美国 Set Picture2.Picture =
LoadPicture ' 清除图片
PictureBox控件 PictureBox控件
AutoSize属性: 使控件自动调节以适应图像大小 属性: 属性 第一个图形框 第一个图形框AutoSize属性为 属性为False
属性为 第二个图形框AutoSize属性为 属性为True 第二个图形框 属性为
PictureBox控件 PictureBox控件
图形框有三组表示高和宽的属性,分别代表不同的含义: 图形框有三组表示高和宽的属性,分别代表不同的含义:
图形框控件的高和宽:同其它控件一样,PictureBox控件的 图形框控件的高和宽:同其它控件一样, 控件的
Height和Width属性分别记录图形框控件所占空间的高度和宽 属性分别记录图形框控件所占空间的高度和宽 和 属性 度.
图片的高和宽:图片可能小于或超过控件的范围,要取得图 图片的高和宽:图片可能小于或超过控件的范围,
片的真实大小,可以利用控件的Picture对象来获取,Picture 对象来获取, 片的真实大小,可以利用控件的 对象来获取
对象的Height和Width属性分别记录图片的高度和宽度,如 属性分别记录图片的高度和宽度 对象的 和
属性分别记录图片的高度和宽度, Picture1.Picture.Height可取得第一个图形框内图片的高度,
可取得第一个图形框内图片的高度, 可取得第一个图形框内图片的高度 但要注意的是这两个属性的度量单位与控件的缺省度量单位 不同. 不同.
图形框内部绘图区的高和宽:在VB中,PictureBox控件有两 图形框内部绘图区的高和宽: 中 控件有两 个特殊的属性:
个特殊的属性:ScaleWidth和ScaleHeight,它们代表的是图 和 , 形框内部区域的水平或垂直度量单位,
形框内部区域的水平或垂直度量单位,图形框内部绘图区的 精确尺寸应略小于图形框的尺寸. 精确尺寸应略小于图形框的尺寸.
PictureBox控件 PictureBox控件
可以利用图形框的方法在图形框上绘制文字或 图形 常用方法: 常用方法: Print输出文本 输出文本 Circle, Line,
Point, Pset画图 画图 PaintPicture方法, 在控件上绘制图像文件, 方法, 方法 在控件上绘制图像文件,
可以实现图像的缩放,平铺,淡化效果等. 可以实现图像的缩放,平铺,淡化效果等.
&&& Image控件
只能用于显示图像,不能作为容器, 只能用于显示图像,不能作为容器,加载速度快
Picture属性,显示的图像,缺省情况下,Image控件 属性, 属性 显示的图像,缺省情况下, 控件
总是根据图片大小自动调整其尺寸, 总是根据图片大小自动调整其尺寸,而不管设计时所 定义的控件尺寸,
定义的控件尺寸,这样图片能保持其原始尺寸并得到 完整的显示. 完整的显示. Stretch属性,设定图像是否自动调整大小适应控件
属性, 属性
一个图片显示程序
【例】编写图片显示程序,提供图片按照窗口 编写图片显示程序, 高度,按照窗口宽度和实际大小三种方式显示.
高度,按照窗口宽度和实际大小三种方式显示.
一个图片显示程序
使用PictureBox作为容器,使用Image来显示图片,因 作为容器,使用 来显示图片, 作为容器 来显示图片
不仅可以以原始尺寸显示图片, 为Image不仅可以以原始尺寸显示图片,同时图片会 不仅可以以原始尺寸显示图片
自动调节适应Image1控件尺寸 自动调节适应 控件尺寸 当适应窗口高度时,将Image1控件的 当适应窗口高度时,
控件的Height属性设置 控件的 属性设置 控件的内部区域的高度, 为Picture1控件的内部区域的高度,同时按照图片比
控件的内部区域的高度 例计算Width属性值,最后设置 属性值, 属性为True, 例计算 属性值 最后设置Stretch属性为
属性为 , 图片便自动适应窗口高度显示. 图片便自动适应窗口高度显示.
&&& Private
Sub optHeight_Click() Image1.Width =
Image1.Width*Picture1.ScaleHeight / Image1.Height Image1.Height =
Picture1.ScaleHeight Image1.Stretch = True End Sub
一个图片显示程序
当适应窗口宽度时,将Image1控件的 当适应窗口宽度时, 控件的Width属性 控件的 属性
设置为Picture1控件的内部区域的宽度,同时按 控件的内部区域的宽度, 设置为 控件的内部区域的宽度
照图片比例计算Height属性值,同样设置 属性值, 照图片比例计算 属性值 同样设置Stretch
属性为True,图片便自动适应窗口宽度显示.代 属性为 ,图片便自动适应窗口宽度显示. 码如下: 码如下:
&&& Private
Sub optWidth_Click() Image1.Height=
Image1.Height*Picture1.ScaleWidth / Image1.Width Image1.Width =
Picture1.ScaleWidth Image1.Stretch = True End Sub
一个图片显示程序
选择实际大小时,只要将Image1控件的 选择实际大小时,只要将 控件的Stretch 控件的 属性设置为False即可,代码如下:
即可, 属性设置为 即可 代码如下:
&&& Private
Sub optActual_Click() Image1.Stretch = False End Sub
直线控件(Line) 直线控件(Line)
通过设置Line控件的属性,可以定义直线的位置,长度, 控件的属性,可以定义直线的位置,长度, 通过设置 控件的属性
颜色和样式等外观.但是Line控件功能有限. 控件功能有限. 颜色和样式等外观.但是 控件功能有限
1,BorderStyle属性:提供六种直线样式: 透明 ,实线 , 属性: , 属性 提供六种直线样式:透明,实线,
虚线,点线,点划线,双点划线和内实线. 虚线,点线,点划线,双点划线和内实线. 2,BorderColor属性:指定直线的颜色.
属性: , 属性 指定直线的颜色. 3,移动和调整线段长度 , 在运行时,不能用 在运行时,不能用Move方法移动直线,只可更改直线
方法移动直线, 方法移动直线 控件的X1, , 和 属性来移动控件或调整直线 控件的 , X2, Y1和 Y2属性来移动控件或调整直线
控件长度. 和 属性设置直线控件左端点的坐标 属性设置直线控件左端点的坐标, 控件长度.X1和Y1属性设置直线控件左端点的坐标,
X2和Y2属性设置直线控件右端点的坐标. 属性设置直线控件右端点的坐标. 和 属性设置直线控件右端点的坐标
形状控件(Shape) 形状控件(Shape)
可用Shape控件在窗体,框架或图形框中创建下述预 控件在窗体, 可用 控件在窗体 定义形状: 矩形, 正方形, 椭圆形, 圆形,
定义形状 : 矩形 , 正方形 , 椭圆形 , 圆形 , 圆角矩 形或圆角正方形. 形或圆角正方形. 1, Shape属性 :
指定形状 , 有 六种预定义的形状 . 如 属性: , 属性 指定形状, 六种预定义的形状. vbShapeRectangle ,
vbShapeSquare , vbShapeOval 等. 2,FillStyle 属性:提供了若干预定义的填充样式图案,
属性:提供了若干预定义的填充样式图案, , 如实线,水平线,十字线等. 如实线,水平线,十字线等.
3,FillColor属性:设置填充颜色.该属性不影响边框颜 , 属性:设置填充颜色. 属性 属性) 色(BorderColor属性)
&&& 绘图方法
VB提供有以下创建图形的方法,这些图形方法适用于 VB提供有以下创建图形的方法, 提供有以下创建图形的方法 窗体和图形框控件.
窗体和图形框控件. 1)Cls:清除所有图形和调用Print方法所作的输出 :清除所有图形和调用 方法所作的输出
2)PSet:设置屏幕指定位置像素的颜色 : 3)Line:画线,矩形,或填充框 :画线,矩形, 4)Circle:画圆,椭圆,或圆弧
:画圆,椭圆, 5)Point:返回指定点的颜色值 : 6)PaintPicture:在任意位置画出图形 :
使用Pset方法画点 方法画点 使用
[object.]PSet (x, y)[, color]
x和y参数为所画点的坐标 是单精度参数,所以它们可 和 参数为所画点的坐标 是单精度参数, 参数为所画点的坐标,是单精度参数
以接受整数或分数的输入,可以适应不同的坐标系. 以接受整数或分数的输入,可以适应不同的坐标系.
color参数指定点的颜色,该参数可以使用任意一种方 参数指定点的颜色, 参数指定点的颜色 法来指定.如果没有指定color参数,
PSet将像素设置 参数, 法来指定 . 如果没有指定 参数 将像素设置 为前景色( 对象的ForeColor属性). 属性)
为前景色(object对象的 对象的 属性 下述语句在当前窗体, 窗体和Picture1图形框 下述语句在当前窗体,MyForm窗体和
窗体和 图形框 上设置各种点: 上设置各种点: PSet (10.75, 50.33) MyForm.PSet (230, 1000)
Picture1.PSet (1.5, 3.2) PSet (50, 75), RGB(0, 0, 255)
&&& Pset方法示例
【例】编写程序,在窗体上随机画出各种颜色的点. 编写程序,在窗体上随机画出各种颜色的点.
Form_Click() Dim R As Integer, G As Integer, B As Integer Dim XPos
As Integer, YPos As Integer Do ' 设置红,绿,兰随机颜色值,赋值后会自动转换为整数 设置红,
兰随机颜色值, R = 255 * Rnd Rnd函数:生成一个小于 大 函数: 函数 生成一个小于1大 G = 255 * Rnd
于等于0的随机数 于等于 的随机数 B = 255 * Rnd ' 设置水平和垂直位置的随机坐标值 DoEvents:因为循环没有给
: XPos = Rnd * ScaleWidth YPos = Rnd * ScaleHeight 定结束条件(死循环), ),程
定结束条件(死循环),程 ' 用PSet画点 画点 序启动后将无法正常中止, 序启动后将无法正常中止, PSet (XPos,
YPos), RGB(R, G, B) DoEvents函数允许操作系统 函数允许操作系统 DoEvents
获取控制权以处理其他事件. 获取控制权以处理其他事件. Loop End Sub
&&& 点的尺寸
PSet方法所画点的尺寸取决于对象的 方法所画点的尺寸取决于对象的DrawWidth属性 方法所画点的尺寸取决于对象的 属性
缺省时DrawWidth为1,PSet就将一个像素的点设 值.缺省时 为 , 就将一个像素的点设 置为指定颜色. 大于1,
置为指定颜色.当DrawWidth大于 ,则点的尺寸将变 大于 使其中心位于指定坐标.这样只要DrawWidth足 大 ,
使其中心位于指定坐标 . 这样只要 足 够大, 就可以画各种颜色的实心圆了. 够大,PSet就可以画各种颜色的实心圆了.
就可以画各种颜色的实心圆了 Form1.DrawWidth = Rnd * 50 + 1
&&& 擦除点
擦除一点,只要把其颜色设置为背景色即可,如: 只要把其颜色设置为背景色即可,
Form1.PSet (50, 75), Form1.BackColor
指定点的坐标
有两种方法来指定点的坐标: 有两种方法来指定点的坐标:
使用参数(x, y)指定点的坐标.如:PSet (20,20) 使用参数( )指定点的坐标. 2) 当在参数(x, y) 前面加上
Step关键字后 , 就是相 关键字后, 当在参数 ( ) 对定位, 当前坐标的偏移量. 对定位,(x,
y)指定的就是相对当前坐标的偏移量. )指定的就是相对当前坐标的偏移量 如:Pset Step (20,20)
当前的坐标点就是调用图形方法或Print方法所画最后点的位置, 方法所画最后点的位置, 当前的坐标点就是调用图形方法或
方法所画最后点的位置 该位置由对象的CurrentX和CurrentY属性保存,它们的初始值 属性保存 该位置由对象的 和 属性保存,
都为0. 都为 . 比如PSet可相对最后所画点的位置向下画点: 可相对最后所画点的位置向下画点: 比如
可相对最后所画点的位置向下画点 For i=0 to 1000 PSet Step (1, 0) Next
因为是循环画点,所以上述代码可以得到一条水平线. 因为是循环画点,所以上述代码可以得到一条水平线.
使用Line方法画线 方法画线 使用
Line方法可以画出一条直线,指定直线的起点,终点和颜色 , 方法可以画出一条直线,指定直线的起点,终点和颜色, 方法可以画出一条直线
语法为: 语法为:
[object.]Line [(x1, y1)]&(x2, y2)[, color]
第一对坐标为起点,第二对坐标为终点. 第一对坐标为起点,第二对坐标为终点.
&&& Line (0,
0)-(ScaleWidth, ScaleHeight) Line (0, ScaleHeight)-(ScaleWidth, 0)
' 从左上角到右下角的对角线 ' 从左下角到右上角的对角线
&&其中第一对坐标(x1,
y1)是可选的.如果省略,将把该对象的当 是可选的. 其中第一对坐标 是可选的 如果省略, 前 坐 标 位 置 ( CurrentX
和 CurrentY 属 性 ) 作 为 线 的 起 点 . Color如果省略,则使用对象的 如果省略, 属性为线的颜色. 如果省略
则使用对象的ForeColor属性为线的颜色. 属性为线的颜色 方法一样, 方法也支持使用关键字Step来指定相对 与
PSet方法一样, Line方法也支持使用关键字 方法一样 方法也支持使用关键字 来指定相对 位置.假设当前坐标为(500,
500): 位置.假设当前坐标为 :
-(1000, 0) ' 从(500, 500)到()的一条水平线 到 的一条水平线 Line -Step(0,
1000) ' 从()到()的一条垂直线 到 的一条垂直线 Line Step(0,
1000)-Step(200, 200) ' 从()到()的斜线 到 的斜线
使用Line方法画矩形 方法画矩形 使用
一个很简单的画矩形的方法.当在Line方法中的最后 一个很简单的画矩形的方法 . 当在 方法中的最后 添加" 选项时
就会以指定的两点为矩形的对角点, 选项时, 添加"B"选项时,就会以指定的两点为矩形的对角点, 画一个矩形. 画一个矩形.如:
Line (500, 500)&(), vbRed, B Line (500, 500)&Step(1000,
500), , B 或 注意:如果color参数省略的话,则在"B"之前要有两 参数省略的话, 注意:如果 参数省略的话 则在"
之前要有两 个逗点,参数值可以省略,但参数位置要保留. 个逗点,参数值可以省略,但参数位置要保留.
&&& 填充矩形
使用Line方法还可以指定对矩形进行填充,有 使用Line方法还可以指定对矩形进行填充 Line 方法还可以指定对矩形进行填充,
两种填充方式: 两种填充方式:
&&& 1) 颜色填充
Line (500, 500)&(), vbRed, BF 以上代码绘制一个红色的方块 2) 图案填充
FillStyle = 1 Line (500, 500)&(), vbRed, B
需要先指定FillStyle属性 , 即矩形内部图案填充方 需要先指定 属性, 属性 式
填充图案的选择
FillStyle属性的取值和填充效果 属性的取值和填充效果
vbFSSolid:0,实线 : , vbFSTransparent(缺省值):1,透明 (缺省值) ,
vbHorizontalLine:2,水平直线 : , vbVerticalLine:3,垂直直线 : ,
vbUpwardDiagonal:4,上斜对角线 : , vbDownwardDiagonal:5,下斜对角线 : ,
vbCross:6,十字线 : , vbDiagonalCross:7,交叉对角线 : , 以上填充的图案以线条为主,
以上填充的图案以线条为主 , 那么如何指定线条的颜 色呢? 对象的FillColor属性充当此任 . 该属性缺省为 属性充当此任.
色呢 ? 对象的 属性充当此任 黑色,所以如果不更改的话,填充的将都是黑色线条. 黑色 , 所以如果不更改的话 ,
填充的将都是黑色线条 .
填充矩形示例
&&& 【 例 】
编程在窗体中显示所有的填充图案,并使用不 编程在窗体中显示所有的填充图案, 同的填充颜色. 同的填充颜色.
Form_Click() Dim i As Integer For i = 0 To 7 Form1.FillStyle = i
Form1.FillColor = QBColor(i) Line (i * 600, 500)-Step(600, 600),
vbRed, B Next End Sub
&&& 指定线型
DrawWidth设置为 时,DrawStyle可以设置以下线型: 设置为1时 可以设置以下线型: 设置为 可以设置以下线型
vbFSSolid(缺省值):0,实线 (缺省值) , vbDash:1,虚线 : , vbDot:2,点线 : ,
vbDashDot:3,点划线 vbDashDot:3, vbDashDotDot:4,双点划线 : ,
vbInvisible:5,无线 : , vbInsideSolid:6,内收实线 : ,
&&& 指定线宽
通过设置DrawWidth属性可以控制画出的线的宽度, 属性可以控制画出的线的宽度, 通过设置 属性可以控制画出的线的宽度
值越大,线越宽(整数值) 值越大,线越宽(整数值) 【 例 】 利用 Line 方法在窗口上随意画画 , 可以指定颜
利用Line方法在窗口上随意画画, Line方法在窗口上随意画画 色和线宽. 色和线宽. 1. 鼠标按下并移动开始 划线,
划线,鼠标抬起的时 候不划, 候不划,需要响应鼠 标按下和移动两个事 件. 2. 颜色可以利用通用对 话框CommonDialog
话框 控件来选择 线宽用滚动条设置. 3. 线宽用滚动条设置.
绘图程序示例
&&& ' 设置线宽
Private Sub HScroll1_Change() Form1.DrawWidth = HScroll1.Value End
Sub ' 设置线条颜色 Private Sub cmdColor_Click() CommonDialog1.ShowColor
Form1.ForeColor = CommonDialog1.Color End Sub ' 擦除窗体 Private Sub
cmdClear_Click() Me.Cls End Sub
绘图程序示例
鼠标按下后,设置绘图起始坐标 鼠标按下后, Private Sub Form_MouseDown(Button As Integer,
Shift As Integer, X As Single, Y As Single) CurrentX = X CurrentY =
Y End Sub ' 鼠标按下的同时并移动,绘制从(CurrentX,CurrentY)到(X,Y)的 鼠标按下的同时并移动,绘制从
到 的 线条 Private Sub Form_MouseMove(Button As Integer, Shift As
Integer, X As Single, Y As Single) If Button = 1 Then Line -(X, Y)
使用Circle方法画圆 方法画圆 使用
Circle方法用于画圆的语法是: 方法用于画圆的语法是: 方法用于画圆的语法是
[object.]Circle [Step](x, y), radius[, color]
)是圆心坐标, 指定半径长度, 其中(x, y)是圆心坐标,radius指定半径长度, 指定半径长度
例如,下面语句将画出一个以()为圆心,500 为圆心, 例如,下面语句将画出一个以 为圆心 为半径的红色空心圆:
为半径的红色空心圆: Circle (), 500, vbRed 方法一样, 和Line方法一样,在设置了对象的
方法一样 在设置了对象的FillStyle和FillColor 和 属性后, 方法就能画实心圆和其它填充效果的圆.
属性后,Circle方法就能画实心圆和其它填充效果的圆. 方法就能画实心圆和其它填充效果的圆 例如画一个红色的实心圆:
例如画一个红色的实心圆: FillStyle = vbSolid FillColor = vbRed Circle (1000,
1000), 500, vbRed
&&& 画圆示例
【例】从窗口中心向外不停地画同心圆,直到充满. 从窗口中心向外不停地画同心圆,直到充满. Private Sub
Timer1_Timer()
&&& Static
Radius Dim CX, CY, Limit ScaleMode = vbPixels CX = ScaleWidth / 2
CY = ScaleHeight / 2 Limit = IIf(CX & CY, CY, CX) Circle (CX,
CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255) Radius = Radius +
1 If Radius & Limit Then 如果改变线宽,怎么办? 如果改变线宽,怎么办? Form1.Cls
Radius = 0 End If End Sub
Circle方法画椭圆 方法画椭圆
圆的纵横轴比例不等于1,就是椭圆. 方法完整的语法是: 圆的纵横轴比例不等于 ,就是椭圆.Circle方法完整的语法是:
方法完整的语法是 其中参数start和 end是可选的 , 可用于画圆弧 , 画椭圆时省略 和 是可选的, 其中参数 是可选的
可用于画圆弧, 这两个参数,但是逗号是不能省的.如果画椭圆, 这两个参数,但是逗号是不能省的.如果画椭圆,最后一个参 是不能省略的,
数aspect是不能省略的,所以更明确的椭圆的语法是: 是不能省略的 所以更明确的椭圆的语法是: aspect参数 :
指定了椭圆的垂直直径和水平直径的比例. aspect 参数: 指定了椭圆的垂直直径和水平直径的比例 . 该参 参数 数是正浮点数.
参数小于0时 椭圆沿水平轴线拉长; 数是正浮点数.当aspect参数小于 时,椭圆沿水平轴线拉长; 参数小于 相反aspect参数大于
时,则沿垂直轴线拉长. 参数大于1时 则沿垂直轴线拉长. 相反 参数大于 Radius参数:椭圆有两个半径 参数:
水平方向的x半径和垂直方向 参数 椭圆有两个半径——水平方向的 半径和垂直方向 水平方向的 半径,
语句中只使用了一个参数radius对应椭圆 的 y半径, 但在 半径 但在Circle语句中只使用了一个参数 语句中只使用了一个参数
对应椭圆 长轴.也就是说, 参数小于1的话 的 长轴 . 也就是说 , 当 aspect参数小于 的话 ,radius指的是水
参数小于 的话, 指的是水 平方向的半径,如果aspect参数大于或等于 的话 , 则 radius指 参数大于或等于1的话
平方向的半径 , 如果 参数大于或等于 的话, 指 的是垂直方向的半径. 的是垂直方向的半径.
&&& Circle
[Step](x, y), radius, [color], [start], [end] [, aspect]
&&& Circle
[Step](x, y), radius, [color], , , aspect
&&& 画椭圆示例
在任意大小的窗口上画出最大的椭圆, 【例】在任意大小的窗口上画出最大的椭圆,并且椭圆随着窗 口变化而变化. 口变化而变化.
Private Sub Form_Resize() Dim var1, var2 Form1.Cls ScaleMode =
vbPixels var2 = ScaleHeight / ScaleWidth If var2 & 1 Then var1 =
ScaleWidth / 2 - 1 Else var1 = ScaleHeight / 2 - 1 End If Circle
(ScaleWidth / 2, ScaleHeight / 2), var1, vbRed, , , var2 End
Circle方法画圆弧 方法画圆弧
圆弧就是截取圆或椭圆中指定的一部分. 圆弧就是截取圆或椭圆中指定的一部分. Circle [Step](x, y), radius,
[color], [start], [end] [, aspect] start和 end参数指定的就是圆或椭圆中的两个角度 ,
参数指定的就是圆或椭圆中的两个角度, 和 参数指定的就是圆或椭圆中的两个角度 Circle方法按照逆时针顺序画出这两个角度之间的弧线.
方法按照逆时针顺序画出这两个角度之间的弧线. 方法按照逆时针顺序画出这两个角度之间的弧线 圆的角度取值范围是-2π ~ 2π
圆的角度取值范围是
&&& Circle
(), 800, vbRed, 0, Pi / 2 Circle (), 800,
vbRed, *Pi, 3 * Pi / 2 Circle (), 800, vbRed, -2 * Pi, -
Pi / 2 Circle (), 800, vbRed, -Pi , -3 * Pi / 2
使用PaintPicture方法显示图片 方法显示图片 使用
PaintPicture方法不仅可以显示图像,还可以完成各种图像效果, 方法不仅可以显示图像,还可以完成各种图像效果,
方法不仅可以显示图像包括缩放,滚动,全景,平铺以及多种颜色效果.实际上
PaintPicture方法可以理解为从源控件到目标控件的图像的复制, 方法可以理解为从源控件到目标控件的图像的复制,
方法可以理解为从源控件到目标控件的图像的复制 [object.]PaintPicture pic, destX, destY [,
destWidth [, destHeight [, srcX [, srcY [, srcWidth [, srcHeight [,
Opcode]]]]]]] Object:指的是目标控件, 可以是窗体, 图形框或 对象, :
指的是目标控件,可以是窗体,图形框或Printer对象, 对象 这些控件都是图片显示的容器. 这些控件都是图片显示的容器.
pic参数:一个 参数: 对象, 参数 一个Picture对象,是要绘制到目标控件上的图形源, 对象 是要绘制到目标控件上的图形源,
它可以由窗体或PictureBox控件的 控件的Picture属性指定. 属性指定. 它可以由窗体或 控件的 属性指定
destX和destY参数:图像出现在目标控件中的坐标位置. 和 参数:图像出现在目标控件中的坐标位置. 参数
destWidth和destHeight参数: 可选 ,图像在目标控件中的大小. 参数: 和 参数 可选,图像在目标控件中的大小.
srcX和srcY参数:可选,源控件图像要复制的区域的起始坐标. 参数: 和 参数 可选,源控件图像要复制的区域的起始坐标.
destWidth和destHeight参数: 可选 ,图像复制区的宽度和高度. 参数: 和 参数 可选,图像复制区的宽度和高度.
Opcode参数:可选,定义当在目标控件上绘图时,在图像上执 参数: 参数 可选,定义当在目标控件上绘图时, 行的位操作.如反转等.
行的位操作.如反转等.
PaintPicture方法示例 方法示例
【例】以不同效果将图片显示在窗体上. 以不同效果将图片显示在窗体上.
PaintPicture方法示例 方法示例
整个图像以原始尺寸复制到窗体上 Private Sub Command1_Click() Cls PaintPicture
Picture1.Picture, 0, 0 End Sub ' 复制原始图像的指定矩形区域到窗体上 Private Sub
Command3_Click() Cls PaintPicture Picture1.Picture, 0, 0, , , 1000,
, 500 End Sub
PaintPicture方法示例 方法示例
&&& ' 放大
倍显示整个图像 放大1倍显示整个图像 Private Sub Command2_Click() Cls PaintPicture
Picture1.Picture, 0, 0, _ ScaleX(Picture1.Picture.Width,
vbHimetric, vbTwips) * 2, _ ScaleY(Picture1.Picture.Height,
vbHimetric, vbTwips) * 2 End Sub ' 整个图像以反转复制到窗体上 Private Sub
Command4_Click() Cls PaintPicture Picture1.Picture, 0, 0, , , , , ,
, vbNotSrcCopy End Sub
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 c 直线控件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信