1 / 58

第十章 界面设计

第十章 界面设计. 本章主要任务:. ( 1 )掌握对话框、工具栏与状态栏的使用; ( 2 )掌握菜单设计; ( 3 )掌握多窗体、多文档界面的设计。. 10.1 概述. 菜单栏. 格式工具栏. 标准工具栏. 对话框. 状态栏. 大型应用程序一般都包括对话框、菜单栏和工具栏等(如 Microsoft Word 的界面),另外,在这些应用程序中还使用了多窗体和多文档。 对话框 菜单栏 多文档 工具栏和状态栏. 10.2 对话框. 通用对话框添加到工具箱. 选定部件标签.

nero-ryan
Download Presentation

第十章 界面设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十章 界面设计 本章主要任务: (1)掌握对话框、工具栏与状态栏的使用; (2)掌握菜单设计; (3)掌握多窗体、多文档界面的设计。

  2. 10.1 概述 菜单栏 格式工具栏 标准工具栏 对话框 状态栏 大型应用程序一般都包括对话框、菜单栏和工具栏等(如Microsoft Word的界面),另外,在这些应用程序中还使用了多窗体和多文档。 对话框 菜单栏 多文档 工具栏和状态栏

  3. 10.2 对话框 通用对话框添加到工具箱 选定部件标签 选定Microsoft CommDialog Control 6.0 工程/部件 确定 一、通用对话框的基本属性和方法 通用对话框可以提供6种形式的对话框,通过设置Action属性值或调用Show方法来建立不同类型的对话框。如下表:

  4. 属性 1 FileName(文件名称)属性:在程序中可用该属性值设置或返回用户所选定的文件名(包含路径) 2 FileTitle(文件标题)属性:在程序中可用该属性值设置或返回用户所选定的文件名(不包含路径) 10.2.1 “打开”/“另存为”对话框 DialogTiltle FileName DefaultExt InitDir Filter FilterIndex

  5. 10.2 通用对话框 3 Filter(过滤器)属性:确定文件列表框中所显示文件的类型,该属性的值显示在“文件类型”列表框中。如设置其值为: Cocuments(*.DOC)|*.DOC|Text Files(*.TXT)|*.txt|All Files|(*.*) 则在“文件类型”列表框显示下列三种文件类型以供用户选择 Cocuments(*.DOC) 扩展名为DOC的Word文件 Text Files(*.TXT) 扩展名为TXT的文本文件 All Files|(*.*) 所有文件

  6. 10.2 通用对话框 4 FilterIndex(过滤器索引)属性:为整型值,表示用户在文件类型列表框选定了第几组文件类型。 5 InitDir(初始化路径)属性:该属性用来指定打开对话框中的初始目录,若不设置,系统则默认为“C:\My Documents\”。 6.DefaultExt属性:字符型,用于确定保存文件的缺省扩展名。 7.CancelError属性:逻辑型值,表示用户在与对话框进行信息交换时,按下“取消”按钮时是否产生出错信息。

  7. 例10.1 设计一个如图所示的窗体,其中包含1个文本(Text1)和6个 命令按钮。程序运行后,单击命令按钮,可打开相应的对话框。 10.2 通用对话框

  8. “打开”按钮的程序代码如下: Private Sub cmdOpen_Click() Dim StrText as string On Error Goto note ' 当出现错误时,跳转到note语句 With CommonDialog1 .DialogTitle = "打开对话框" .InitDir = “C:\" .Filter = "Word文档(*.doc)|*.doc|文本文件 _ (*.txt)|*.txt|所有文件(*.*)|*.*" .FilterIndex = 2 : Text1.Text = "" .ShowOpen ' 或使用 CommonDialog1.Action = 1 Open .FileName For Input As #1 ' 可参看第十一章 End with 10.2 通用对话框

  9. If Err.Number = 0 Then ' 如果打开文件正确 Do While Not EOF(1) Line Input #1, StrText Text1 = Text1 + StrText + vbCrLf ' vbCrLf是回车换行符 Loop Close #1 End If Note: End Sub “另存为”按钮的程序代码如下: Private Sub cmdSave_Click() with CommonDialog1 .DialogTitle = "另存为对话框" 10.2 通用对话框

  10. .InitDir = “C:\" .Filter="Word文档(*.doc)|*.doc|文本文件 _ (*.txt)|*.txt|所有文件(*.*)|*.*" .FilterIndex = 2 .DefaultExt = "*.Txt" .Action = 2 ' 或使用CommonDialog1.ShowSave Open .FileName For Output As #2 End With For i = 1 To Len(Text1) Print #2, Mid$(Text1, i, 1); Next i Close #2 End Sub 10.2 通用对话框

  11. 10.2.2 “颜色”对话框 Color属性是“颜色”对话框最重要的属性,它返回或设置在调色板中选定的颜色。上例中颜色对话框的代码如下: Private Sub cmdColor_Click() CommonDialog1.ShowColor '或CommonDialog1.Action = 3 Text1.ForeColor = CommonDialog1.Color '设置文本框的前景色 End Sub 10.2 通用对话框

  12. 10.2.3 “字体”对话框 1.Flags属性:确定对话框中显示的字体类型。 注意在显示“字体”对话框前,必须先设置Flags 属性,否则,会发生字体不存在的错误。 10.2 通用对话框

  13. 10.2 通用对话框

  14. “字体”按钮的程序代码如下: Private Sub cmdFont_Click() With CommonDialog1 .Flags = cdlCFScreenFonts Or cdlCFEffects .Max = 100 :.Min = 1 .ShowFont '也可以用.Action =4代替 Text1 .FontName =.FontName Text1.FontSize =.FontSize Text1.FontItalic =.FontItalic Text1.FontBold =.FontBold Text1.FontStrikethru =.FontStrikethru Text1.FontUnderline =.FontUnderline End With End Sub 10.2 通用对话框

  15. 10.2.4 “打印”对话框 1.Copies属性:整型,用于确定打印的份数。 2.FromPage和ToPage属性:整型,用于确定打印的起始页号和终止页号。 “打印”按钮程序代码如下: Private Sub cmdPrinter_Click() Dim i As Integer CommonDialog1.ShowPrinter 'CommonDialog1.Action =5 For i = 1 To CommonDialog1.Copies Printer.Print Text1.text Next i Printer.EndDoc '结束打印 End Sub 10.2 通用对话框

  16. 10.2.5 “帮助”对话框 1.HelpCommand属性:返回或设置需要的联机帮助的类型。 2.HelpFile属性:确定Microsoft Windows Help文件的路径和文件名,应用程序使用这个文件显示Help或联机文档。 3.HelpKey属性:返回或设置标识请求的帮助主题的关键字。 4.HelpContext属性:该属性与HelpCommand属性一起使用(设置HelpCommand = cdlHelpContext),返回或设置请求的帮助主题的上下文ID以指定要显示的帮助主题。 Private Sub cmdHelp_Click() CommonDialog1.HelpCommand = cdlHelpContents CommonDialog1.HelpFile = "c:\windows\help\notepad.hlp" CommonDialog1.ShowHelp 'CommonDialog1.Action =6 End Sub 10.2 通用对话框

  17. 10.3 菜单 菜单概述 菜单是图形化界面一个必不可少的组成元素,通过菜单对各种命令按功能进行分组,使用户能够更加方便、直观地访问这些命令。 Windows环境下的应用程序一般为用户提供三种菜单:窗体控制菜单(如图10-10所示)、下拉菜单(如图10-10所示)与快捷菜单(如图10-12所示)。

  18. 10.3 菜单 10.3.1 下拉菜单 启动菜单编辑器: 有三种方法 1 单击工具栏菜单图标 2 工具/菜单编辑器 (CTRL+E) 3 窗体上快捷菜单/ 菜单编辑器 菜单编辑器操作界面如右所示。

  19. 菜单编辑器的使用技巧 根据设计要求,依次输入或选择所面项目,即可完成。例: 1. 标题(Caption): 2. 名称(Name): 3. 快捷键(Shortcut): 4. 下一个(Next): 5. ←和→按钮 6. 插入(Insert)按钮: 7. 删除(Delete)按钮: 8 ↓和↑按钮: 9. 复选(Checked)检查框: 10. 有效(Enabled)检查框: 11. 显示窗口列表(Window List)检查框:

  20. 菜单的主要属性 1. 标题(Caption):在窗口上显示,例如:输入&File,显示为: File,热键:Alt+F 2. 名称(Name): 菜单项的名称,分界符也应有名称。 3. 快捷键(Shortcut):下拉列表框 4 下一个(Next): 设置下一个菜单项。 5. ←和→按钮:“→” 下一级菜单项;“←”上一级菜单项。 6. 插入(Insert)按钮:插入菜单项 7. 删除(Delete)按钮:删除菜单项 8. ↓和↑按钮: 改变菜单项位置。 9. 复选(Checked)检查框:菜单项为选定项。 10. 有效(Enabled)检查框:True:菜单项可选;False:不可选。 11. 显示窗口列表(Window List)检查框: 菜单编辑器的使用技巧

  21. 菜单编辑器的使用技巧 菜单设计的几项操作: 1.设计下拉菜单 2.设计子菜单或改变子菜单级别 3.为菜单项分组 菜单名用减号“-” 4.为菜单项指定访问键和快捷键 与命令按钮设置访问键相同。 5.为菜单项加上复选标记 6.禁止使用菜单项 在程序代码中可以通过程序代码: 菜单名.Enabled=False 7.菜单项的增减

  22. 用VB菜单编辑器设计, 用PopupMenu方法弹出 [对象.]PopupMenu 菜单名, 标志, x, y 标志: 0:菜单项只对鼠标左键有反应。 2:菜单项对鼠标左键和右键都有反应,PopupMenu方法只能用在MouseDown事件过程. 10.3 菜单 10.3.2 弹出式菜单(快捷菜单)

  23. 10.3 菜单 ‘文本框的MouseDown事件过程 Private Sub txtInput_MouseDown(Button As Integer,_ Shift As Integer,_ X As Single, Y As Single) If Button = vbLeftButton Then PopupMenu mnuEdit, vbPopupMenuLeftButton, X, Y End If End Sub

  24. 例10.6 重新建立Text1的弹出菜单。要求在文本框Text1中单击鼠标右键,能弹出Pmenu菜单,并以鼠标指针坐标X为弹出菜单的左边界,Pmenu菜单的属性表及运行界面如下: 10.3 菜单

  25. 10.3 菜单

  26. 程序代码如下: Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbRightButton Then PopupMenu Pmenu, vbPopupMenuLeftAlign, X, Y End If End Sub 10.3 菜单

  27. 10.4 多重窗体

  28. 10.4.1 多重窗体的操作 添加窗体 利用添加窗体命令,可添加一个新的或已有的窗体到工程中。 设置启动对象 启动对象可以是窗体也可以是main子过程。 窗体的语句、方法 Load 窗体名称 Unload 窗体名称 [窗体名称.] Show[模式] [窗体名称.]Hide 10.4.2 与窗体加载与卸载过程相关的事件 下面两个图分别说明了在窗体加载和卸载过程中所用的语句、方法以及所触发的事件的先后顺序。 10.4 多重窗体

  29. 10.4 多重窗体

  30. 10.4.3 不同窗体间数据的引用 (1) 引用控件中的属性 格式:另一个窗体名.控件名.属性 (2) 存取变量的值 格式:另一个窗体名.全局变量名 例10.6 试用VB帮ATE直销公司设计一个电脑操控的交易平台。 要求: (1)在标准模块中定义全局变量和全局函数过程。 (2)运用Function函数完成价格折扣计算:消费100元以上9折,300元以上8折,500元以上7折。 (3)界面设计如下图所示。 10.4 多重窗体

  31. 10.4 多重窗体 ‘单击选购商品按钮 Private Sub Command2_Click() goodsForm.Show mainForm.Hide End Sub

  32. 10.4 多重窗体

  33. '单击主页按钮 Public Sub Command1_Click() mainForm.Show Me.Hide End Sub '单击成交按钮 Private Sub Command2_Click() intcount = Val(Text2.Text) strname = Mid(Combo1.Text, 1, 20) price = Val(Mid(Combo1.Text, 21, 8)) foresum = intcount * price sum = fundj(foresum!) goodsForm.Hide deliverForm.Show End Sub 10.4 多重窗体

  34. '单击重选按钮 Private Sub Command3_Click() Text1.Text = "" Text2.Text = "" Combo1.ListIndex = -1 End Sub ‘当窗体成为活动窗体时 Private Sub Form_activate() Text1.Text = "" Text2.Text = "" Combo1.ListIndex = -1 End Sub 10.4 多重窗体

  35. 10.4 多重窗体

  36. '单击主页按钮 Private Sub Command1_Click() mainForm.Show deliverForm.Hide End Sub '单击付款按钮 Private Sub Command2_Click() MsgBox "尊贵的客户:" + Chr(13) + Chr(13) + _ " 您好!" + "你的订购手续已办妥," + _ "我们会尽快提供最好的服务" + Chr(13) + Chr(13) + _ " 多谢惠顾!", vbOKOnly + 64, "多窗体程序设计" End Sub 10.4 多重窗体

  37. '单击退出按钮 Private Sub Command3_Click() End End Sub  '窗体一成为活动窗体,就更换窗体中的数据 Private Sub Form_activate() Text1 = Format(Date, "d-mmmm-yy") Text2 = Form2.Text1.Text Text3 = strname Text4 = price Text5 = intcount Text6 = foresum Text7 = sum End Sub 10.4 多重窗体

  38. 标准模块中的代码: Public intcount As Integer '货物数量 Public strname As String '货物名称 Public price As Single '货物单价 Public foresum As Single '折扣前的货物金额 Public sum As Single '折扣后的货物金额 Public Function fundj(x!) As Single '计算折扣后金额的函数过程 Dim zk As Single Select Case x Case Is >= 500 : zk = 0.7 * x Case Is >= 300 : zk = 0.8 * x Case Is >= 100: zk = 0.9 * x Case Else : zk = x End Select fundj = zk End Function 10.4 多重窗体

  39. 10.5.1 MDI窗体与其子窗体的创建 用“添加MDI窗体”命令,可建立MDI窗体。一个工程只可有一个MDI窗体。 将普通窗体的MDIChild属性设置为True,就建立了MDI子窗体。一个多文档界面至少有一个MDI子窗体。 10.5.2 菜单的创建 MDI 窗体和子窗体上都可以建立菜单。把专门应用于子窗体的菜单控件放置到子窗体中,把希望在任何时候都显示的菜单控件放在 MDI 窗体上,如菜单栏、工具栏、状态栏等。 10.5 多文档界面

  40. 10.5.3 创建“窗口”菜单 在菜单编辑器中,选中“显示窗口列表”检查框,就可以显示已打开的文档标题。通常也将子窗体图标的层迭、平铺等命令放在窗口菜单中。使用格式: MDI窗体对象. Arrange 排列方式 其中,排列方式可以为0、1 、2、3,分别代表层迭、水平平铺、垂直平铺和排列图标。 10.5 多文档界面

  41. 10.6.1 在ImageList控件中添加图像 10.6 工具栏

  42. 10.6.2 在ToolBar控件中添加按钮 10.6 工具栏

  43. 10.6 工具栏

  44. 10.6 工具栏 Style=3 Style=0 Style=4 Style=2 Style=1

  45. 10.6.3 响应ToolBar控件事件 ToolBar控件响应ButtonClick()事件。ToolBar控件中的各按钮为控件数组,因此,在程序中,通过判断“Button.Key”或“Button.Index” 的属性值来判断单击了哪一个按钮,语句结构一般使用SelectCase结构。 10.6 工具栏

  46. 10.7.1 属性设置 状态栏由窗格组成,通过下表可设置窗格及其属性。 10.7 状态栏

  47. 10.7.2 运行时改变状态栏 在程序运行中可改变窗格的属性,例如,可编写下列程序以反映光标在文本中的位置。 Private Sub RichTextBox1_Click() '当单击文本框时,当前光标位置在状态栏的第2个窗格显示 MDIform1.StatusBar1.Panels(2).Text=RichTextBox1.SelStart End Sub 10.7 状态栏

  48. 10.8.1 常用格式化属性 10.8 RichTextBox控件

  49. 10.8.2 文件操作方法 加 载文件:对象名.LoadFile 文件标识符[,文件类型] 保存文件:对象名. SaveFile(文件标识符[,文件类型]) 10.8.3 插入图像 在RichTextBox控件中可插入*.bmp的图像文件,形式如下: 对象.OLEObjects.Add[索引],[关键字],文件标识符 例如,要将cut.bmp图像插入RichTextBox1中,使用下面的语句: RichTextBox1.OLEObjects.Add, , ″c:\windows\cut.bmp″ 例10.7 设计一个简易的文字处理系统。 10.8 RichTextBox控件

  50. 工程资源管理器窗口: 例10.7 设计一个简易的文字处理系统

More Related