问答题
从下列3道试题(试题5至试题7)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。
阅读以下应用说明及Visual Basic程序代码,根据要求回答问题1至问题4。
[说明]
某文件管理系统的图片浏览器如图3-19所示。运行程序时,用户只要通过驱动器列表框、目录列表框和文件列表框,选择文本文件所在的驱动器、文件夹及相应的文件名后,在图像框中将显示出相应的文件图像。
在开发过程中,假设驱动器列表框名为drvFile,目录列表框名为 dirFile,文件列表框名为filFile,选择文件类型组合框名为cboFile,图像框名为IMG onClick=over(this) title=放大Show。
问答题
[问题1]
请根据[说明]和图3-19的显示结果,从以下备选答案中为程序(1)~(7)空缺处选择正确的答案。
[备选答案]
A. filFile.path B. dirFile.Path=drvFile.Drive
C.Right(filFile.Path,1) = "/" D.filFile.Pattern ="*.bmp"
E.filFile.Path = dirFile.Path F.filFile.FileName
G.Select Case cboFile.ListIndex
【正确答案】
【答案解析】在Visual Basic应用程序中显示磁盘驱动器、目录和文件的有关信息(如设计资源管理器),除了使用对话框外,VB提供了文件系统内部控件:驱动器列表框(DriveListBox)、目录列表框(DirListBox)和文件列表框(FileListBox)。 驱动器列表框用于显示系统中所有的有效驱动器,它可以自动填写驱动器的名称和卷标。 目录列表框以目录树形式(分层缩进)显示当前目录的所有上级目录及下一级子目录。 文件列表框是一个特殊的ListBox控件,它以列表形式显示当前目录中的所有文件名,并可选择按文件名、扩展名或属性排列内容。 这些控件通常在一个窗体中工作,程序设计时必须保持三者之间的同步关系。当用户在驱动器列表框 (DriveListBox)中选择一个驱动器时,DirListBox控件就更新显示该驱动器上的目录树。当用户在目录列表框(DirListBox)中选择一条路径时,文件列表框(FileListBox)控件中的内容为该目录下的文件列表。这些活动自动地触发Change事件。但这些活动不能自动完成,需要为Change事件编写代码。 本案例程序中,改变当前驱动器时将触发drvFile_Change()事件,改变当前目录时将触发 dirFile_Change()事件。在drvFile_Change()事件过程中,需要通过代码将驱动器列表框的Drive属性(指明当前驱动器)赋值给目录列表框的Path属性,即(2)空缺处所选择的语句是选项B的“dirFile.Path= drvFile.Drive”,使目录列表框中显示当前驱动器上所有的一级目录。在dirFile_Change()事件过程中,需要将目录列表框的Path属性(指明当前路径)赋值给文件列表框的Path属性,即(3)空缺处所选择的语句是选项E的“filFile.Path=dirFile.Path”,从而使驱动器列表框、目录列表框和文件列表框的显示内容保持一致(同步)。 由于本案例程序是一个图片浏览器,应限制用户只能选择图形文件,因此需要通过组合框指定所要浏览的图片类型,使得文件列表框中只显示出所指定类型的相应文件。当用户更改文件类型组合框中的文件类型值时将触发cboFile Click()事件。 根据图3-19的显示结果可知,该图片浏览器支持包含*.bmp、*.ico、*.wmf、*.jpg及*.gif等多种文件类型。要将同一个表达式与不同的值进行比较,则需要用到“Select...Case”条件选择语句,即在 cboFile_Click()事件中,需要通过Select Case语句为文件列表框指定相应的filFile.Pattern属性值。其中, filFile.Pattern属性用于指定文件列表框中所显示的义件类型。因此(4)空缺处所选择的语句是选项G的“Select Case cboFile.Listlndex”。 由于在窗体Form_Load()过程中,通过语句“cboFile.Listlndex=0”间接要求在文件列表框中只显示出后缀为*.bmp的文件名,即(1)空缺处所选择的语句是选项D的filFile.Pattern="*.bmp"。 在filFile_Click()事件过程中,应判断文件所在目录是否为根目录,即(5)空缺处所选择的语句是选项C的Right(filFile.Path,1)="/"。其中,filFile.Path属性用于说明所选文件的路径(目录)。如果文件所在目录是根目录,则直接通过语句“IMG onClick=over(this) title=放大Show.Picture=LoadPicture(filFile.Path+filFile.FileName)”,在图像框中显示出相应的图片。其中,filFile.FileName属性用于说明所选文件的文件名。如果文件所在目录不是根目录,则需要通过语句“IMG onClick=over(this) title=放大Show.Picture=LoadPicture(filFile.Path+"/"+filFile.FileName)”在图像框中显示出相应的图片。因此(6)空缺处所选择的语句是选项A的“filFile.Path”,(7)空缺处所选择的语句是选项F的"filFile.FileName"。
问答题
[问题2]
filFile.Pattern属性用于指定文件列表框中所显示的文件类型。若要同时显示*.jpg和*.gif两种文件类型,filFile.Pattern的属性值应如何设置?
【正确答案】
【答案解析】filFile.Pattern属性用于指定文件列表框中所显示的文件类型。若要同时品示多个类型时,用“;”将各描述符隔开。例如,同时显示*.jpg和*.gif两种文件类型的语句如下。 filFile.Pattern="*.jpg;*.gif"
问答题
[问题3]
若要在图3-19窗口(窗体名为frm001)中新增一个命令按钮,单击该命令按钮后,图像框所显示的图像就会成为此窗口的背景图像。请写出该命令按钮单击事件过程内的程序代码。
【正确答案】
【答案解析】若要在图3-19窗口(窗体名为frm001)中新增一个命令按钮,单击该命令按钮后,图像框所显示的图像就会成为此窗口的背景图像。该命令按钮单击事件过程的程序代码如下。 [程序代码] Private Sub Command1_Click() frm001.Picture=IMG onClick=over(this) title=放大Show.Picture End Sub [等价的程序代码] Private Sub Command1_Click() If Right(filFile.Path 1)="/" Then frm001.Picture=LoadPicture(filFile.Path+filFile.FileName) Else frm001.Picture=LoadPicture(filFile.path+"/"+filFile.FileName) End lf End Sub
问答题
[问题4]
假设某应用程序开发工程(默认的工程名为“工程1”)已先后创建了名为Form01和Form02的两个窗体。为使窗体Form02成为运行该工程时的启动窗体,在开发过程应进行的操作过程如下。
在工程对话框中,用鼠标右键单击“工程1(工程1)”,在选择[{{U}} (8) {{/U}}]命令,系统弹出如图3-20所示的对话框。切换至图3-20的“通用”选项,在“{{U}} (9) {{/U}}”下拉列表框中,选择“{{U}} (10) {{/U}}”。

图3-20 “工程1”属性对话框
【正确答案】
【答案解析】假设某应用程序开发工程(默认的上程名为“工程1”)已先后创建了名为Form01和Form02的两个窗体。为使窗体Form02成为运行该工程时的启动窗体,在开发过程应进行的操作过程如下。 在工程对话框中,用鼠标右键单击“工程1(工程1)”,在快捷菜单中选择[工程1属性(