




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualBasic属性、方法和事件属性、方法和事件概述Visual Basic 的窗体和控件是具有自己的属性、方法和事件的对象。可以把属性看作一个对象的性质,把方法看作对象的动作,把事件看作对象的响应。日常生活中的对象,如小孩玩的气球同样具有属性、方法和事件。气球的属性包括可以看到的一些性质,如它的直径和颜色。其它一些属性描述气球的状态(充气的或未充气的)或不可见的性质,如它的寿命。通过定义,所有气球都具有这些属性;这些属性也会因气球的不同而不同。气球还具有本身所固有的方法和动作。如:充气方法(用氦气充满气球的动作),放气方法(排出气球中的气体)和上升方法(放手让气球飞走)。所有的气球都具备这些能力。气球还有预定义的对某些外部事件的响应。例如,气球对刺破它的事件响应是放气,对放手事件的响应是升空。如果能对气球编程的话,Visual Basic 代码将如下所示。其作用是设置气球的属性:Balloon.Color = RedBalloon.Diameter = 10Balloon.Inflated = True注意代码的语法,首先是对象 (Balloon),接着是属性 (Color),然后是赋值(Red)。重复这条语句,但是,换一个不同的值,就可以改变气球的颜色。属性也可以在程序设计阶段在“属性”窗口中设置。调用气球的方法是这样的:Balloon.InflateBalloon.DeflateBalloon.Rise 5它的语法与属性的语法相似,对象(一个名词)后面紧跟着方法(一个动词)。在第三个例子中有一个附加项,称为一个参数,表示气球上升的高度。一些方法有一个或多个参数,它们对执行的动作做进一步的描述。气球对一个事件的响应如下所示:Sub Balloon_Puncture()Balloon.DeflateBalloon.MakeNoise BangBalloon.Inflated = FalseBalloon.Diameter = 1End Sub本例中代码描述了当刺穿事件发生时气球的行为:调用 Deflate 方法,然后以 Bang(发出的声响)为参数调用 MakeNoise 方法。因为气球已不再是充气状态,所以把 Inflated 属性置为 False,并给 Diameter 属性设置一个新值。实际上对气球不能编程,但是,可以对 Visual Basic 的窗体或控件进行编程。作为程序员,由您作主。您决定应更改哪些属性,调用哪些方法,对哪些事件作出响应,从而得到希望的外观和行为。设计窗体窗体对象是 Visual Basic 应用程序的基本构造模块,是运行应用程序时与用户交互操作的实际窗口。窗体有自己的属性、事件和方法用于控制其外观和行为。设计窗体的第一步是设置它的属性。这可以在设计时在“属性”窗口中完成,或者运行时由代码来实现。注意 设计时,即在 Visual Basic 环境中创建应用程序的任何时刻,此时你可以操作窗体和控件,设置它们的属性,对它们的事件编程。运行时是指实际运行应用程序并与应用程序进行交互的时间。设置窗体属性窗体的许多属性会影响窗体的外观。Caption 属性决定窗体标题栏中显示的文本;图标属性设置在窗体最小化时显示的图标。MaxButton 和 MinButton属性决定窗体是否能最大化或最小化。通过改变 BorderStyle 属性,可以控制窗体如何调整大小。Height 和 Width 属性决定的窗体初始大小;Left 和 Top 属性根据屏幕的左上角确定窗体的位置。WindowState 属性可以把窗体设成在启动时最大化、最小化或正常大小。Name 属性设置窗体的名称,在代码中用这个名称引用该窗体。首次在工程中添加窗体时,该窗体的名称被缺省为 Form1;添加第二个窗体,其名称被缺省为 Form2,以此类推。最好给 Name 属性设置一个有实际意义的名称,如给一个条目窗体命名为 frmEntry。熟悉这些窗体属性,最好的办法是实践。在“属性”窗口(图 3.3)中更改窗体的一些属性,然后运行该应用程序并观察修改的效果。如果想详细了解每个属性,可以选择该属性并按 F1 键查看联机帮助。窗体事件和方法窗体作为对象,能够执行方法并对事件作出响应。无论是因为用户交互,还是通过代码调整窗体的大小,都会触发一个 Resize事件。当窗体尺寸变化时,允许您在窗体上进行移动控件或调整控件大小等操作。每当一个窗体变成活动窗体时,就会产生一个 Activate 事件;当另一个窗体或应用程序被激活时,就会产生 Deactivate 事件。这些事件对初始化或结束窗体行为十分方便。例如,在 Activate 事件中,可以编写代码突出显示一个特定文本框中的文本;在 Deactivate 事件中,可以把更改保存到一个文件或数据库中。要使一个窗体可见,可调用 Show 方法:Form2.Show调用 Show 方法与设置窗体 Visible 属性为 True 具有相同的效果。窗体的许多方法都调用文本或图形。Print、Line、Circle 和 Refresh 方法可用于直接在窗体表面上写和画。这些方法和更多的方法将在第十二章“使用文本和图形”中详细讨论。详细信息 关于窗体的详细信息,请参阅第六章“创建用户界面”中的“再论窗体”。单击按钮执行操作使用户与应用程序交互的最简便的方法是给用户提供一个按钮。可以用Visual Basic 提供的 CommandButton 控件,或利用包含图形的 Image 控件,如一个图标,来创建自己的“按钮”。使用 CommandButton大多数 Visual Basic 应用程序都有 CommandButton,使用户通过简单的敲击按钮来执行操作。当用户选中按钮时,不仅会执行相应操作,还会使该按钮看上去象被按下并释放一样。无论何时,只要用户单击按钮,就会调用 Click 事件过程。将代码写入 Click 事件过程,执行想要执行的动作。在程序执行时,有多种方法可以选中 CommandButton :用鼠标单击按钮。按 TAB 键把焦点移到相应按钮上,然后按 SPACE 键或 ENTER 键选中该按钮。参阅本章后面的“焦点概述”。按 CommandButton 的快捷键(ALT +下划线的字符)。在代码中设 CommandButton 的 Value 属性为 True。 cmdClose.Value = True在代码中调用 CommandButton 的 Click 事件。 cmdClose_Click如果该 CommandButton 是窗体的缺省命令按钮,既使将焦点移到其它不是 CommandButton 的控件上,按下回车键也会选中该按钮。在设计时,通过设置某按钮的 Default 属性为 True ,指定它为窗体的缺省CommandButton 。如果该 CommandButton 是窗体的缺省的取消按钮,即使把焦点移到其它控件上,也能通过按 ESC 键选中该按钮。在设计时,通过设置某按钮的 Cancel 属性为 True,指定它为窗体的缺省的取消按钮。 所有这些操作都使 Visual Basic 调用 Click 事件过程。“测试按钮”应用程序利用 Caption 属性可以在按钮上显示文字,告诉用户该按钮的功能。在图3.4 中,在控件示例应用程序的测试按钮范例中包含一个 Caption 属性为Change Signal 的 CommandButton(此例的工作为Controls.vbp 示例应用程序中的 Buttons.frm)。注意,S 是这个按钮的快捷键,用一条下划线表示。在 Caption 属性的正文内插入一个 (&) 符号,将使得此符号后面的字符成为该按钮的快捷键(例如,Change &Signal)。用户单击 CommandButton,将执行该 CommandButton 的 Click 事件过程中的代码。在这个范例中,每次单击按钮,将变换一个不同的交通灯图标。详细信息 关于 CommandButton 的属性的详细信息,请参阅第七章“使用Visual Basic 的标准控件”。用于显示和输入文本的控件Label 和 TextBox 控件是用于显示和输入文本的。让应用程序在窗体中显示文本时使用 Label,允许用户输入文本时用 TextBox。Labels 中的文本为只读文本,而 TextBox 中的文本为可编辑文本。可由用户编辑的文本,例如一个顺序条目TextBox字段或一个密码框 只能显示的文本,例如在窗体中标识一个Label字段或给用户显示指令Labels 和 TextBoxes 将在以下部分讨论:用 Label 显示文本(vbconUsingLabels)使用 Label 控件的基本知识。使用 TextBox(vbconWorkingWithTextBox)使用 TextBox 的基本知识。用 Label 显示文本Label 控件显示的文本用户不能直接修改。如 TextBox 和 ScrollBar 这些没有自己的 Caption 属性的控件,可以用 Label 标识。在 Label 中实际显示的文本是由 Caption 属性控制的,该属性可以在设计时在“属性”窗口中设置或在运行时用代码赋值。在缺省情况下,标题是 Label 控件中唯一的可见部分。但是,如果把BorderStyle 属性设成 1(可以在设计时进行),那么 Label 就有了一个边框,看起来像一个 TextBox。还可以通过设置 Label 的 BackColor、BackStyle、ForeColor 和 Font 属性来,改变 Label 的外观。改变 Label 尺寸以适应其内容设计时可在“属性”窗口中指定单行 Label 的标题。但是如果要输入一个较长的或在运行时可能变化的标题,该怎么办呢?Label 提供了两种属性:AutoSize 和 WordWrap,用于帮助您改变控件尺寸以适合较长或较短的标题。AutoSize 属性决定控件是否自动改变尺寸以适应其内容。如该属性设为True,Label 就会根据其内容进行水平方向变化,如图 3.5 所示。WordWrap 属性使 Label 根据其内容进行垂直方向变化,而保持其宽度不变,如图3.6 所示。本例的工作版,请参阅应用程序示例 Controls.vbp 中的 WordWrap.frm。注意 如果在 Controls.vbp 中运行AotoSize示例,就会发现为了同时使用 WordWrap,必须两个复选框都选中。这是因为,要想使 Label 的WordWrap 属性起作用,就必须设置 AutoSize 为 True。只有在一个单字的宽度超过控件的当前宽度时,Label 的宽度才会增加。详细信息 关于 Label 控件属性的详细信息,请参阅第七章“使用 VisualBasic 的标准控件”。使用 Text BoxesTextBox 是一种通用控件,可以由用户输入文本或显示文本。除非把TextBox 的 Locked 属性设为 True,否则不能用 TextBox 显示不希望用户更改的文本。TextBox 中显示的实际文本是受 Text 属性控制的。Text 属性可以用三种方式设置:设计时在“属性”窗口进行、运行时通过代码置或在运行时由用户输入。通过读 Text 属性能在运行时检索 TextBox 的当前内容。多行 Text Box 和 Word WrapTextBox 在缺省情况下只显示单行文本,且不显示 ScrollBar。如果文本长度超过可用空间,则只能显示部分文本。通过设置 MultiLine 和 ScrollBars两种属性(只能在设计程序时设置),可以改变 TextBox 的外观和行为。注意 不要把 ScrollBars 属性与 ScrollBar 控件混淆,ScrollBar 控件并不属于 TextBox,它具有自己的属性集。把MultiLine属性设为True,可以使 TextBox 在运行时接受或显示多行文本。只要没有水平方向ScrollBar,多行TextBox 中的文本会自动按字换行。ScrollBars 属性的缺省值被设置为0(None)。自动按字换行省去用户在行尾插入换行符的麻烦。当一行文本已超过所能显示的长度时,TextBox自动将文本折回到下一行显示。在设计时,不能在“属性”窗口输入换行符。在过程中,可以通过插入一个回车加上换行符(ANSI 字符 13 和 0)来产生一个行断点。也可以用常量 vbCrLf 插入一个回车与换行符组合。例如,下面的事件过程是在加载窗体时,把两行文本放入一个多行 TextBox (Text1) 中的示例。Sub Form_Load ()Text1.Text = Here are two lines _& vbCrLf & in a text boxEnd Sub使用 TextBox 中的文本利用 TextBox 的 SelStart、SelLength 和 SelText 属性,可以控制 TextBox的插入点和选择行为。这些属性仅能在运行时使用。当一个 TextBox 首次得到焦点时,TextBox 缺省的插入点和光标位置在文本的最左边。用户可以用键盘和鼠标移动它们。当 TextBox 失去焦点而后再得到时,插入点位置与用户最后设置的位置一样。在有些情况下,它可能与用户设置不一致。如:在字处理应用程序中,用户会希望新字符出现在已有文本后面;在数据项应用程序中,用户会希望他的输入替换原有条目。使用 SelStart 和 SelLength 属性,用户可以根据需要改变 TextBox 的行为。SelStart 属性是一个数字,指示文本串内的插入点,其中 0 表示最左边的位置。如果 SelStart 属性值大于或等于文本中的字符数,那么插入点将被放在最后一个字符之后,如图 3.7 所示。该例子的工作版,请参阅应用程序示例 Controls.vbp 中的 Text.frm。SelLength 属性是一个设置插入点宽度的数值。把SelLength设为大于 0 的值,会选中并突出显示从当前插入点开始的SelLength个字符。图3.8 显示选择的性能。如果有一段文本被选中,此时用户键入的文字将替换被选中的文本。有些情况下,也可以用粘贴命令用新文本替换原有的文本。 SelText 属性是一串文本,可以在运行时给它赋值以替换当前选中的文本。如果没有选中的文本, SelText 将在当前插入点插入文本。详细信息 关于 TextBox 控件的属性的详细信息,请参阅第七章“使用Visual Basic 的标准控件”。详细信息 关于 TextBox 控件的属性的详细信息,请参阅第七章“使用Visual Basic 的标准控件”。为用户提供选择的控件大多数应用程序需要向用户提供选择,如简单的“Yes/No”选项、或者从包含成百个可能性的列表中进行选择。Visual Basic 包含几种用于提供选择的标准控件。下列表格总结了这些控件及其用途。用 CheckBox 选择单个选项CheckBox 表明一个特定的状态是选定 (on) 还是清除 (off)。在应用程序中使用 CheckBox 为用户提供了“True/False”或“yes/no”的选择。因为CheckBox 彼此独立工作,所以用户可以同时选择任意多个 CheckBox。例如,在图 3.9 中,可同时选定粗体和斜体。 CheckBox 应用程序这个例子使用一个 CheckBox 来决定文本用普通字体还是用斜体字显示。关于此例的工作版本,请参阅应用程序示例 Controls.vbp 中的 Check.frm。如图 3.10 所示,此应用程序有一个 TextBox,一个 Label,一个CommandButton 和两个 CheckBox。下表列出了应用程序中的对象的属性设置。 选定粗体或斜体时,CheckBox 的 Value 属性值设置为 1 ,不选定时为 0。缺省 Value 值为 0,所以除非改变 Value 属性值,否则第一次显示时不会选定 CheckBox。可以用常量 vbChecked 和 vbUnchecked 表示数值 1 和0。check box 应用程序中的事件当单击 CheckBox 时,会发生 CheckBox 的 Click 事件。此事件过程测试是否选定 CheckBox(即是否 Value = vbChecked)。如果选定,通过设置 Font对象的 Bold 或 Italic 属性,将文本转换为粗体或斜体;该 Font 对象是由TextBox 的 Font 属性返回的。Private Sub chkBold_Click ()If ChkBold.Value = vbChecked Then如果选定。txtDisplay.Font.Bold = TrueElse如果没有选定。txtDisplay.Font.Bold = False End IfEnd SubPrivate Sub chkItalic_Click ()If ChkItalic.Value = vbChecked Then如果选定。txtDisplay.Font.Italic = TrueElse如果没有选定。txtDisplay.Font.Italic = FalseEnd IfEnd Sub用选项按钮进行选项分组选项按钮表示给用户一组两个或更多的选择。但是,不同于 CheckBox,选项按钮总是作为一组的组成部分工作的;因此,选择一个选项按钮就会立即清除该组中的其它按钮。定义一个选项按钮组,告诉用户“这是一组选择,从中选一个,而且只选一个”。例如,在图 3.11 所示的选项按钮组中,用户只能在三个选项按钮中选择一个。创建选项按钮组直接放在一个窗体中(也就是不在 Frame 或 PictureBox 中)的所有的选项按钮构成一组。如果想创建别的选项按钮组,必须将其中一些选项按钮组放到 Frame 或 PictureBox 中去。所有在给定的 Frame 中的选项按钮,组成一个独立的组,在 PictureBox 中的所有选项按钮也是如此。用这种方法生成一个独立的组时,总是要先画好一个 Frame 或 PictureBox ,然后,将选项按钮画到里面。图 3.12 显示了一个具有两个选项按钮组的窗体。在 Frame 中画了一组选项按钮后,用户只能在组内选择一个选项按钮。要在 Frame 中为控件分组,请按照以下步骤执行:1. 在“工具箱”中选择 Frame 控件,并在窗体上画出 Frame。2. 在“工具箱”中选择 OptionButton 控件,并在 Frame 内画出控件。3. 如果还想在 Frame 中增加选项按钮,重复步骤 2。先画 Frame ,再在 Frame 上画每个控件,这样移动 Frame 时控件会一起移动。如果将已经存在的控件移到 Frame 上,此控件不会和 Frame 一起移动。注意 如果将已存在的控件分组到一个 Frame 中去,可以选择这些控件,然后剪贴到 Frame 或 Picture 控件上去。控件的容器当控件是独立的对象时,窗体和控件之间存在着某种父子关系。图 3.12 表明 选项按钮怎样才能包含在一个窗体或一个 Frame 控件中。要理解容器的概念,首先要把所有的控件都想象为所在窗体的孩子。实际上,大多数控件都支持只读 Parent 属性,它的值就是控件所在的窗体。作为孩子,控件决定其在父窗体上的位置。控件的 Left 属性和 Top 属性是相对父窗体而言,且控件不能移出父窗体的边界。移动容器的同时也移动了控件,因此控件与容器的相对位置不变(即控件的 Left 属性和 Top 属性不变)。选定或禁止选项按钮一个选项按钮可以用以下方法选择:1.在运行期间用鼠标单击选项按钮。2.用Tab键定位到选项按钮组,然后在组内使用方向键(箭头键)定位选项按钮。3.用代码将它的 Value 属性设置为 True:optChoice.Value = True4.使用在 Label 的标题中指定的快捷键。5.要使某个按钮成为选项按钮组中的缺省按钮,只要在设计时将其 Value属性设置成 True。它保持被选中状态,直到用户选择另一个不同的选项按钮或用代码改变它。要禁用选项按钮,将其 Enabled 属性设置为 False。程序运行时,若此选项按钮变灰,表示无法选取此选项按钮。Options 应用程序图 3.13 所示的窗体使用选项按钮为一台计算机选择处理器类型和操作系统。当用户在组内选择了选项按钮后,Label 的标题就改变,反映当前的选择。关于此例的工作版本,请参阅应用程序示例 Controls.vbp 中的Options.frm。下表列出了应用程序中对象属性的设置。 Options 应用程序中的事件选项应用程序对事件的响应如下:前三个选项按钮的 Click 事件为窗体级的 string 变量 strComputer 分配一个相应的描述。后两个选项按钮的 Click 事件为第二个窗体级变量 strSystem 分配一个相应的描述。这个方法的关键就在于使用这两个窗体级变量,strComputer 和strSystem。这两个变量具有不同的 string 值,选项按钮的最后选定就依赖于这些值。每次选择新的选项按钮,其 Click 事件的代码就更新相应变量的值。Private Sub opt586_Click()strComputer = PentiumCall DisplayCaptionEnd Sub然后它调用一个名为 DisplayCaption 的过程,此过程把两个变量连在一起并改变 Label 的 Caption 属性。Sub DisplayCaption()lblDisplay.Caption = You selected a &_strComputer & running & strSystemEnd Sub使用子过程是因为改变 Caption 属性的过程对所有五个选项按钮来说基本是一样的,只不过变量的值因情况而异。这就可以避免在每个 Click 事件中重复同样的代码。详细信息 变量和子过程将在第五章“编程基础”中讨论。使用 ListBox 和 ComboBoxListBox 和 ComboBox 为用户提供了选择。按照缺省规定,选项以垂直单列方式显示,也可以设置成多列方式。如果项目数量超过 ComboBox 或ListBox 所能显示的数目,ScrollBar 自动出现在控件上。于是用户可以在列表中上下左右滚动。图 3.14 为一个单列 ListBox。ComboBox 兼有 TextBox 和 ListBox 两者的功能。该控件允许用户通过键入文本或选择列表中的项目来进行选择。图 3.15 为一个 ComboBox。与其它含有单值的控件相反,例如 Label 的 Caption 属性或 TextBox 的text 属性,ListBox 和 ComboBox 含有多个值或值的集合。在运行时用内置的方法增加、删除及保持集合中的值。要将几条项目添加到名为 List1 的ListBox 中,其代码如下:List1.AddItem ParisList1.AddItem New YorkList1.AddItem San Francisco ListBox 和 ComboBox 是在有限空间为用户提供大量选项的有效方法。详细信息 关于 ListBox 和 ComboBox 控件的详细信息,请参阅第七章“使用 Visual Basic 的标准控件”。使用 ScrollBar 作为输入设备滚动条通常与 TextBox 或窗口一起使用,但有时也可作输入设备。因为ScrollBar 控件可按比例指示当前位置,所以可以单独使用以控制程序输入,如控制声音音量或调整图片颜色。HScrollBar(水平)和 VScrollBar(垂直)控件是独立的,它有自己的事件、属性和方法集。ScrollBar 控件与附属于TextBox、ListBox、ComboBox 或 MDI 窗体的内部 ScrollBar 不同。(TextBox 和 MDI 窗体具有 ScrollBars 属性,可增加或删除附属于控件的 ScrollBar。)现在 Windows 界面提示行支持 Slider 控件作为输入设备而不用ScrollBar。关于 Slider 控件的例子,请参阅 Windows 95 的控件面板。VisualBasic 的专业版和企业版中包含一个 Windows 95 风格的 Slider 控件。详细信息 关于 ScrollBar 控件的详细信息,请参阅第七章“使用 VisualBasic 的标准控件”。显示图片和图形的控件因为 Windows 是图形用户界面,所以在应用程序上界面显示图形图像的方法十分重要。Visual Basic 包含四个控件以简化与图形有关的操作,它们是PictureBox 控件、Image 控件、Shape 控件和 Line 控件。Image、Shape 和 Line 控件有时被称作轻量图形控件。它们需要较少的系统资源,因此比 PictureBox 控件显示得快并且包含 PictureBox 中可用的属性、方法和事件的子集。每一个控件都适用于一个特定的目的。使用 PictureBox 控件PictureBox 控件的主要作用是为用户显示图片。实际显示图片由 Picture 属性决定。Picture 属性包括被显示的图片的文件名(及可选的路径名)。注意 窗体对象也具有 Picture 属性,通过设置该属性可直接在窗体背景上显示图片。要在运行时显示或替换图片,可利用函数 LoadPicture 来设置 Picture 属性。提供图片文件名和可选路径名,由 LoadPicture 函数处理加载和显示图片的细节。picMain.Picture = LoadPicture(VANGOGH.BMP)PictureBox 控件具有 AutoSize 属性,当该属性设置为 True 时,PictureBox能自动调整大小与显示的图片匹配。如果要用 AutoSize 属性设置为 True的 PictureBox ,设计窗体时就需要特别小心。图片将不考虑窗体上的其它控件而调整大小,这可能导致意想不到的后果,如覆盖其它控件。设计时应通过加载每一幅图片来检查是否有这种现象发生。使用 PictureBox 作为容器Picture box 控件也可以用作其它控件的容器。像 Frame 控件一样,可以在PictureBox 控件上面加上其它控件。这些控件随 PictureBox 移动而移动,其 Top 和 Left 属性是相对 PictureBox 而言,而与窗体无关。PictureBox 容器的一种普通用法是 ToolBar 或 StatusBar 。可将 Image 控件置于这些容器中作为按钮或添加Label显示状态信息。将Align属性设置为Top、Bottom、Left或Right ,PictureBox将粘贴在窗体的边缘。图 3.16 为一个Align属性设置为Bottom的PictureBox 。它包含两个可用于显示状态信息的 Label 控件。PictureBox 的其它用法PictureBox 控件有几种方法使 PictureBox 可用于其它目的。例如:把PictureBox 看作是一块空画布,可以在它上面画画或打印,或者显示文本、图形,甚至是简单的动画。Print 方法允许向 PictureBox 控件输出文本,如同向打印机输出一样。有几种字体属性可以控制由 Print 方法输入的文本的特性;Cls 方法可以清除输出。Circle、Line、Point 和 Pset 方法可以用于在 PictureBox 中画图形。一些属性如 DrawWidth、FillColor 和 FillStyle 允许自定义图形的外观。用 PaintPicture 方法在图片控件内移动 Image 、并在几幅不同的 Image 间快速变化就能产生动画。详细信息 关于 PictureBox 控件的详细信息,请参阅第七章“使用 VisualBasic 的标准控件”。轻量图形控件Image、Shape 和 Line 控件都被认为是轻量图形控件,也就是说,它们只支持 PictureBox 的属性、方法和事件的一个子集。因此,它们需要较少的系统资源而且加载也比 PictureBox 控件更快。用 Image 控件代替 PictureBoxImage 控件与 PictureBox 控件相似,但它只用于显示图片。它不能作为其它控件的容器,也不支持 PictureBox 的高级方法。图片加载于 Image 控件的方法和它们加载于 PictureBox 中的方法一样。设计时,将 Picture 属性设置为文件名和路径,运行时,利用 Loadpicture 函数。Image 控件调整大小的行为与 PictureBox 不同。它具有 Stretch 属性,而PictureBox 具有 AutoSize 属性。将 AutoSize 属性设为 True 可使PictureBox 根据图片调整大小,设为 False 则图片将被剪切(只有一部分图片可见)。Stretch 属性设为 False(缺省值)时,Image 控件可根据图片调整大小。将 Stretch 属性设为 True 将根据 Image 控件的大小来调整图片的大小,这可能使图片变形。详细信息 关于 Image 控件的详细信息,请参阅第七章“使用 Visual Basics的标准控件”。使用 Image 控件创建自己的按钮Image 控件也可以识别 Click 事件,因此可在要用 CommandButton 的任何地方使用该控件。这种方法可以方便地建立有图片的按钮来取代标题。将几个 Image 控件组成一组,水平置于屏幕顶端(通常在一个 PictureBox中),可以在应用程序中建立一个 ToolBar。例如,对 Test Buttons一 例给出的 Image 控件 ,用户可以像选择CommandButton 一样来选择它。窗体第一次被显示时,控件显示 VisualBasic 的图标库中三个交通图标中的一个。每单击 Image 控件一次,就显示一个不同的图标(该例的工作版本,请参阅 Controls.vbp 示例应用程序中的 Button.frm)。如果设计时观察一下窗体,就会发现它实际包含所有三个图标,它们堆集在一起。改变顶部 Image 控件的 Visible 属性为 False,下一幅图像(如果其 Visible 属性为真)将显示于顶部。图 3.17 为一个交通图标的 Image 控件 (Trffc10a.ico)。要在 Image 控件的周围建立一个边框,将 BorderStyle 属性设为 1 固定的单边框。注意 与 CommandButton 不同,单击 Image 控件时,并不显示它被按下的动作。也就是说除非在 MouseDown 事件中改变位图,否则“按钮”正在被按下对用户来说是看不到的。详细信息 关于在 Image 控件中显示图形图像的详细信息,请参阅第七章“使用 Visual Basic 的标准控件”。使用 Shape 控件和 Line 控件Shape 和 Line 控件可用来在窗体表面画图形元素。这些控件不支持任何事件,只用于表面装饰。有几种属性可以控制 Shape 控件的外观。通过设置 Shape 属性,Shape 控件可显示为矩形、正方形、椭圆型、圆角矩形或圆角正方形。设置 BorderColor和 FillColor 属性可以改变颜色,BorderStyle、BorderWidth、FillStyle 和DrawMode 属性控制如何画图。Line 控件与 Shape 控件相似,但仅用于画线。详细信息 关于 Shape 和 Line 控件的附加信息,请参阅第七章“使用Visual Basic 的标准控件”。Images 应用程序图 3.18 所示窗体用了四个 Image 控件,一个 Shape 控件,一个 PictureBox控件和一个 CommandButton 控件。当用户选择扑克牌符号时,Shape 控件使该符号突出显示,并且在 PictureBox 中显示相应的描述。关于本例的工作版本,请参阅 Controls.vbp 示例应用程序中的 Images .frm。 下表列出了应用程序中对象的属性设置。 使用 ScrollBar 作为输入设备滚动条通常与 TextBox 或窗口一起使用,但有时也可作输入设备。因为ScrollBar 控件可按比例指示当前位置,所以可以单独使用以控制程序输入,如控制声音音量或调整图片颜色。HScrollBar(水平)和 VScrollBar(垂直)控件是独立的,它有自己的事件、属性和方法集。ScrollBar 控件与附属于TextBox、ListBox、ComboBox 或 MDI 窗体的内部 ScrollBar 不同。(TextBox 和 MDI 窗体具有 ScrollBars 属性,可增加或删除附属于控件的 ScrollBar。)现在 Windows 界面提示行支持 Slider 控件作为输入设备而不用ScrollBar。关于 Slider 控件的例子,请参阅 Windows 95 的控件面板。VisualBasic 的专业版和企业版中包含一个 Windows 95 风格的 Slider 控件。详细信息 关于 ScrollBar 控件的详细信息,请参阅第七章“使用 VisualBasic 的标准控件”。显示图片和图形的控件因为 Windows 是图形用户界面,所以在应用程序上界面显示图形图像的方法十分重要。Visual Basic 包含四个控件以简化与图形有关的操作,它们是PictureBox 控件、Image 控件、Shape 控件和 Line 控件。Image、Shape 和 Line 控件有时被称作轻量图形控件。它们需要较少的系统资源,因此比 PictureBox 控件显示得快并且包含 PictureBox 中可用的属性、方法和事件的子集。每一个控件都适用于一个特定的目的。使用 PictureBox 控件PictureBox 控件的主要作用是为用户显示图片。实际显示图片由 Picture 属性决定。Picture 属性包括被显示的图片的文件名(及可选的路径名)。注意 窗体对象也具有 Picture 属性,通过设置该属性可直接在窗体背景上显示图片。要在运行时显示或替换图片,可利用函数 LoadPicture 来设置 Picture 属性。提供图片文件名和可选路径名,由 LoadPicture 函数处理加载和显示图片的细节。picMain.Picture = LoadPicture(VANGOGH.BMP)PictureBox 控件具有 AutoSize 属性,当该属性设置为 True 时,PictureBox能自动调整大小与显示的图片匹配。如果要用 AutoSize 属性设置为 True的 PictureBox ,设计窗体时就需要特别小心。图片将不考虑窗体上的其它控件而调整大小,这可能导致意想不到的后果,如覆盖其它控件。设计时应通过加载每一幅图片来检查是否有这种现象发生。使用 PictureBox 作为容器Picture box 控件也可以用作其它控件的容器。像 Frame 控件一样,可以在PictureBox 控件上面加上其它控件。这些控件随 PictureBox 移动而移动,其 Top 和 Left 属性是相对 PictureBox 而言,而与窗体无关。PictureBox 容器的一种普通用法是 ToolBar 或 StatusBar 。可将 Image 控件置于这些容器中作为按钮或添加Label显示状态信息。将Align属性设置为Top、Bottom、Left或Right ,PictureBox将粘贴在窗体的边缘。图 3.16 为一个Align属性设置为Bottom的PictureBox 。它包含两个可用于显示状态信息的 Label 控件。PictureBox 的其它用法PictureBox 控件有几种方法使 PictureBox 可用于其它目的。例如:把PictureBox 看作是一块空画布,可以在它上面画画或打印,或者显示文本、图形,甚至是简单的动画。Print 方法允许向 PictureBox 控件输出文本,如同向打印机输出一样。有几种字体属性可以控制由 Print 方法输入的文本的特性;Cls 方法可以清除输出。Circle、Line、Point 和 Pset 方法可以用于在 PictureBox 中画图形。一些属性如 DrawWidth、FillColor 和 FillStyle 允许自定义图形的外观。用 PaintPicture 方法在图片控件内移动 Image 、并在几幅不同的 Image 间快速变化就能产生动画。详细信息 关于 PictureBox 控件的详细信息,请参阅第七章“使用 VisualBasic 的标准控件”。轻量图形控件Image、Shape 和 Line 控件都被认为是轻量图形控件,也就是说,它们只支持 PictureBox 的属性、方法和事件的一个子集。因此,它们需要较少的系统资源而且加载也比 PictureBox 控件更快。用 Image 控件代替 PictureBoxImage 控件与 PictureBox 控件相似,但它只用于显示图片。它不能作为其它控件的容器,也不支持 PictureBox 的高级方法。图片加载于 Image 控件的方法和它们加载于 PictureBox 中的方法一样。设计时,将 Picture 属性设置为文件名和路径,运行时,利用 Loadpicture 函数。Image 控件调整大小的行为与 PictureBox 不同。它具有 Stretch 属性,而PictureBox 具有 AutoSize 属性。将 AutoSize 属性设为 True 可使PictureBox 根据图片调整大小,设为 False 则图片将被剪切(只有一部分图片可见)。Stretch 属性设为 False(缺省值)时,Image 控件可根据图片调整大小。将 Stretch 属性设为 True 将根据 Image 控件的大小来调整图片的大小,这可能使图片变形。详细信息 关于 Image 控件的详细信息,请参阅第七章“使用 Visual Basics的标准控件”。使用 Image 控件创建自己的按钮Image 控件也可以识别 Click 事件,因此可在要用 CommandButton 的任何地方使用该控件。这种方法可以方便地建立有图片的按钮来取代标题。将几个 Image 控件组成一组,水平置于屏幕顶端(通常在一个 PictureBox中),可以在应用程序中建立一个 ToolBar。例如,对 Test Buttons一 例给出的 Image 控件 ,用户可以像选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年小学教育学考试卷及答案
- 2025年房地产经纪人考试题及答案
- 2025年软件工程理论与实践复习试卷及答案
- 2025年心理学基础知识考试题及答案
- 2025年金融专业考试试卷及答案
- 跨国法律文件保密碎纸机租赁与售后服务协议
- 地下综合管廊建设及运维一体化承包合同
- 区域独家品牌授权补充协议
- 家电品牌维修技师劳务派遣服务合同
- 影视作品网络播放权独家代理及收益分成合同
- 预算绩效评价管理机构入围投标文件(技术标)
- 2023-2024年注册测绘师案例分析真题及答案解析
- 《人民币真伪识别》课件
- 大学生农村信用社实习报告
- 【教学创新大赛】《数字电子技术》教学创新成果报告
- 铥激光在膀胱肿瘤应用课件
- 普通物理热学-李椿-电子教案
- 1纪委监委执纪审查案件卷宗模版检查卷模版
- 概率论与数理统计(天津大学)知到章节答案智慧树2023年
- 2023年汽车设计习题库含答案
- 城乡规划管理与法规智慧树知到答案章节测试2023年同济大学
评论
0/150
提交评论