vb图形控件和图形方法
- 格式:ppt
- 大小:278.50 KB
- 文档页数:31
VB 绘图要求:在VB窗口中,添加一个Picture控件,在该控件中任意点击,拖拽画图画直线Dim a As IntegerDim b As IntegerPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 Thena = xb = yEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 ThenPicture1.ClsPicture1.Line (a, b)-(x, y)End IfEnd Sub画矩形Dim a As IntegerDim b As IntegerPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 Thena = xb = yEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 ThenPicture1.ClsPicture1.Line (a, b)-(a, y)Picture1.Line (a, b)-(x, b)Picture1.Line (x, b)-(x, y)Picture1.Line (a, y)-(x, y)End IfEnd Sub画圆Dim a As IntegerDim b As IntegerPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 Thena = xb = yEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 ThenPicture1.ClsPicture1.Circle (a, b), Sqr((x - a) ^ 2 + (y - b) ^ 2)End IfEnd Sub自由绘图Dim a As IntegerDim b As IntegerPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 Thena = xb = yEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = 1 ThenPicture1.PSet (x, y)End IfEnd Sub实例:设计一个窗口,效果如下图,要求设置四个单选框,分别为画直线、画圆、画矩形、自由绘图,选中任意一项,便可在左侧的picture控件中任意地方拖拽出相应的图形。
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也可以计算出屏幕的垂直分辨率。
要想保持⼀个窗⼝或是控件的物理⼤⼩不变,只要计算出设计时的分辨率与实际运⾏时的分辨率的⽐值,然后根据这个⽐值来调节窗⼝和其中的控件的⼤⼩和相对位置,以及显⽰的字体尺⼨,就可以保持同⼀应⽤程序的窗⼝在不同的系统下的物理外观(当然在不同尺⼨的显⽰器上只能保持⽐例不变,物理⼤⼩还是不同的)。
组合框基本属性Name、Height、width、Top、L,eft、Enabled、Visible和Index组合框与列表框具有相同的属性:List、ListIndex、ListCount、Selected、Sorted、Text、MultiSelect,Style 等。
组合框的特有属性:组合框有3种不同的样式,其下拉式组合框、简单组合框可输入内容,但必须通过AddItem方法加入。
组合框的风格是由Style属性值决定的。
设置组合框的Style属性可以选用组合框的3种样Style属性为0时,是下拉式组合框,默认状态;Style属性为1时,是简单组合框;Style属性为2时,是下拉列表框。
(1)下拉组合框下拉组合框,显示在屏幕上的仅是文本编辑器和一个下拉箭头。
与下拉列表框相似,蛋下拉列表框可以通过输入文本的方法在表项中选择。
可识别dropdownclickchannge事件。
(2)简单组合框简单组合框,列出所有的项目供用户选择,右边没有下拉箭头,列表框不能收起和下拉。
与文本编辑器一起显示在、屏幕上。
用户可在文本框中直接输入列表项中没有的选项,也可从列表中选择。
可以识别clickchannge事件。
(3)下拉式列表框下拉式列表框与下拉组合框相似,区别是用户不能输入列表框中没有的项,只能在列表中选择。
不能识别dbclick和changge事件。
可识别dropdownclick事件组合框拥有列表框和文本框的大部分属性。
组合框也有SelI,ength、SelStart和SelText这3个文本框才有的属性。
还有LOcked属性和Change事件等。
常用事件组合框响应的事件依赖于其Style属性。
⑴简单组合框(Style属性值为1),才有接收DblClick事件。
(2)下拉组合框(Style属性值为0)与下拉列表框(Style属性值为2),可接收Click事件和DropDown事件。
(3)下拉组合框和简单组合框,可以在文本区输入文本,当输入文本时,可以接收Change事件。
4.1 标签标签是VB中最简单的控件,用于显示字符串,通常显示的是文字说明信息。
但不能编辑标签控件。
使用标签的情况很多,通常用标签来标注本身不具有Caption属性的控件。
例如,可用标签为文本框、列表框、组合框等控件来添加描述性的标签。
还可编写代码改变标签控件的显示文本以响应运行时的事件。
例如,若应用程序需要用几分钟处理某个操作,则可用标签显示处理情况的信息。
4.1.1 常用属性标签的属性很多,下面介绍几个常用的属性。
(1)Alignment属性设置标签中文本的对齐方式。
其使用语法如下:Object.Alignment[=值]其中的“值”可以为0,1或2。
0(默认值)表示左对齐;1表示右对齐;2表示居中。
(2)AutoSize属性设置控件是否能够自动调整大小以显示所有的内容。
其使用语法如下:Object.AutoSize[=True或False](3)BackStyle属性设置标签的背景样式。
其使用语法如下:Object.BackStyle[=值]其中的“值”可以为0或1。
1(默认值)表示是不透明的;0表示是透明的。
(4)BorderStyle属性设置标签的边框样式。
其使用语法如下:Object.BorderStyle[=值]其中的“值”可以为0或1。
0(默认值)表示无边框;1表示单线边框。
(5)Caption属性设置标签的文本内容。
其使用语法如下:Object.Caption[=字符串](6)WordWrap属性设置标签的文本在显示时是否自动折行功能。
其使用语法如下:Object.WordWrap[=True或False]其中True表示具有自动折行功能;False(默认值)表示没有自动折行功能。
4.1.2 常用事件和方法一般很少使用标签事件,标签的方法中常用的只有Move,其基本语法如下:Move left,top,width,height其中left,top,width,height分别表示移动目的位置的坐标和大小。