1 / 22

第 7 章 菜单和控件

21 世纪高等学校计算机基础教育系列教材. 第 7 章 菜单和控件. 人民邮电出版社. 菜单和控件. 常用控件 文本框 标签 命令按钮 列表框 下拉列表框 时钟控件 通用对话框控件. 菜单和控件. 菜单和控件. 一个简单的关于通用对话框的使用的界面, 其中的七个按钮分别完成不同的工作。 程序代码见下页. 设计界面. 菜单和控件. Const HelpCNT = &HB Private Sub Command1_Click(Index As Integer) Select Case Index Case 1

Download Presentation

第 7 章 菜单和控件

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. 21世纪高等学校计算机基础教育系列教材 第7章 菜单和控件 • 人民邮电出版社

  2. 菜单和控件 • 常用控件 • 文本框 • 标签 • 命令按钮 • 列表框 • 下拉列表框 • 时钟控件 • 通用对话框控件

  3. 菜单和控件

  4. 菜单和控件 一个简单的关于通用对话框的使用的界面, 其中的七个按钮分别完成不同的工作。 程序代码见下页 设计界面

  5. 菜单和控件 Const HelpCNT = &HB Private Sub Command1_Click(Index As Integer) Select Case Index Case 1 Cd1.CancelError = True On Error GoTo ErrHandler1 Cd1.Flags = cdlOFNHideReadOnly Cd1.Filter = "All Files (*.*)|*.*|Text Files" "(*.txt)|*.txt|Batch Files (*.bat)|*.bat" Cd1.FilterIndex = 2 Cd1.ShowOpen MsgBox Cd1.FileName Text1.Text = Cd1.FileName ErrHandler1: Case 2 Cd1.CancelError = True On Error GoTo ErrHandler2 Cd1.Flags = cdlOFNHideReadOnly Cd1.Filter = "All Files (*.*)|*.*|Text Files" & _ "(*.txt)|*.txt|Batch Files (*.bat)|*.bat" Cd1.FilterIndex = 2 Cd1.ShowOpen MsgBox Cd1.FileName Text1.Text = Cd1.FileName ErrHandler2:

  6. 菜单和控件 Cd1.Flags = cdlCCRGBInit Cd1.Action = 3 text1.ForeColor = Cd1.Color ErrHandler3: Case 4 Cd1.CancelError = True On Error GoTo ErrHandler4 Cd1.Flags = cdlCFEffects Or cdlCFBoth Cd1.ShowFont Text1.Font.Name = Cd1.FontName Text1.Font.Size = Cd1.FontSize Text1.Font.Bold = Cd1.FontBold Text1.Font.Italic = Cd1.FontItalic Text1.Font.Underline = Cd1.FontUnderline Text1.FontStrikethru = Cd1.FontStrikethru Text1.ForeColor = Cd1.Color ErrHandler4: Case 5 Cd1.CancelError = True On Error GoTo ErrHandler5 Cd1.ShowPrinter BeginPage = Cd1.FromPage

  7. 菜单和控件 .HelpCommand = HelpCNT Or cdlHelpSetContents .ShowHelp End With Case 0 End End Select End Sub EndPage = Cd1.ToPage NumCopies = Cd1.Copies For i = 1 To NumCopies Next i ErrHandler5: Case 6 With Cd1 .HelpFile = "vocus.hlp"

  8. 菜单和控件 用通用对话框设置后Text1的字体和内容

  9. 菜单和控件 • 下拉式菜单 • 下拉式菜单是一种典型的窗口式菜单,在屏幕上一个特定的矩形区域内,下拉式菜单是在用鼠标左键单击其中的一个菜单项的时候,会自上而下在屏幕上下拉一个窗口菜单共用户选择或输入消息。在Windows及各种软件中,下拉式菜单得到了广泛的应用。 • 下拉式菜单具有以下优点: • 整体感强,一目了然,界面友好、直观,使用方便,易于学习和掌握; • 具有导航功能,用户可以在菜单间自由方便地转换,使用相应的功能; • 占用屏幕空间小,通常只占用屏幕的最上一行,在必要时下拉出一个子菜单。 • 弹出式菜单 • 弹出式菜单是独立于菜单栏而显示在窗体上的浮动菜单。在弹出式菜单上显示的项目取决于按下鼠标右键时指针所处的位置;因而,弹出式菜单也被称为上下文菜单。在 Microsoft Windows 95 中,可以通过单击鼠标右键来激活上下文菜单。

  10. 菜单和控件 • 创建菜单 • 在Visual Basic中,在程序设计期间可以创建菜单。用菜单编辑器创建菜单,打开菜单编辑器的方法有以下四种: • 在设计状态下,打开窗体设计器,选择“工具”菜单下的“菜单编辑器...”,打开菜单编辑器窗口。 • 用ctrl + E打开菜单编辑器。 • 点击工具栏上的菜单编辑器快捷按钮 启动菜单编辑器。 • 在窗体上鼠标右键单击,选择弹出菜单中的“菜单编辑器”,

  11. 使用菜单 • 下拉式菜单 • 菜单编辑器

  12. Private Sub about_Click() '关于菜单的单击事件 frmAbout.Show End Sub Private Sub Combo1_click() '设置字体为下拉列表框的文字 Text1.FontName = Combo1.Text End Sub Private Sub Combo2_Click() '设置字号为下拉列表框的文字 Text1.FontSize = Val(Combo2.Text) End Sub Private Sub copy_Click() '复制菜单 If Text1.SelLength > 0 Then copy.Enabled = True Clipboard.SetText (Text1.SelText) End If End Sub

  13. Private Sub delete_Click() '删除菜单 Text1.SelText = "" End Sub Private Sub Form_Load() Combo1.Text = Text1.FontName '取得当前字体 Combo2.Text = Text1.FontSize '取得当前字号 Combo1.AddItem "宋体" '初始化字体 Combo1.AddItem "隶书" Combo1.AddItem "黑体" Combo1.AddItem "华文中宋" Combo1.AddItem "华文行楷" Combo2.AddItem "8" '初始化字号 Combo2.AddItem "9" Combo2.AddItem "10" Combo2.AddItem "12" Combo2.AddItem "14" Combo2.AddItem "16"

  14. Combo2.AddItem "18" Combo2.AddItem "20" Combo2.AddItem “24”: Combo2.AddItem "28" Combo2.AddItem “32“ : Combo2.AddItem "36" Combo2.AddItem "48" it.Checked = False '初始化复选菜单 under.Checked = False bold.Checked = False End Sub Private Sub it_Click() '斜体菜单代码 If it.Checked = True Then it.Checked = False Text1.FontItalic = False Else it.Checked = True Text1.FontItalic = True End If End Sub

  15. Private Sub paste_Click() '粘贴菜单代码 If Clipboard.GetText <> "" Then Text1.SelText = Clipboard.GetText End If End Sub Private Sub quit_Click() '退出 End End Sub Private Sub under_Click() '下划线 If under.Checked = True Then under.Checked = True Text1.FontUnderline = False Else under.Checked = True Text1.FontUnderline = True End If End Sub

  16. Private Sub bold_Click() '粗体 If bold.Checked = False Then bold.Checked = True Text1.FontBold = True Else bold.Checked = False Text1.FontBold = False End If End Sub

  17. 弹出式菜单的设计 在窗体上创建一个文本框,名称为text1,text值为text1,打开菜单编辑器,创建顶层菜单main,标题为空,设置属性为不可见,创建子菜单bold,标题为“粗体”it,标题为“斜体”,under,标题为“下划线”,si,标题为“20”,tt,标题为“隶书”,aa,标题为“-”,qiut,标题为“退出”。如图所示,各菜单项的单击事件如下所示:

  18. 为了显示弹出式菜单,可使用 PopupMenu 方法。这个方法使用下列语法: [object.]PopupMenu 菜单名 [, flags [,x [, y [, boldcommand ]]]] 直到菜单中被选取一项或者取消这个菜单时,调用 PopupMenu 方法后面的代码才会运行。因此,在窗体的MouseDown事件中编写如下代码: Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu main End If End Sub

  19. Private Sub tt_Click() Text1.Font = "隶书" End Sub Private Sub under_Click() Text1.FontUnderline = True End Sub Private Sub bold_Click() Text1.FontBold = True End Sub Private Sub it_Click() Text1.FontItalic = True End Sub Private Sub quit_Click() End End Sub Private Sub si_Click() Text1.FontSize = 20 End Sub

  20. 特殊控件Clipboard • 在Visual Basic中,用户可以直接访问Windows的剪贴板。剪贴板是Windows系统在内存中开辟的一段存储空间,用来临时存放复制或剪切下来的内容。下面通过实例来讲解剪贴板和文本框结合起来使用创建文字编辑器的方法。 使用Windows Clipboard编写程序 创建一个标准EXE工程,在窗体上创建一个文本框控件,名称设为Text1,ScrollBars设为Both,MultiLine设为True;然后创建菜单,菜单的内容如下:剪切,复制,粘贴,起始设为不可用。 分别写入如下代码:

  21. Private Sub copys_Click() Clipboard.SetText Text1.SelText pastes.Enabled = True End Sub Private Sub cut_Click() Clipboard.SetText Text1.SelText Text1.SelText = "" pastes.Enabled = True End Sub Private Sub pastes_Click() Text1.SelText = Clipboard.GetText End Sub Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Text1.SelLength <> 0 Then copys.Enabled = True cut.Enabled = True Else copys.Enabled = False cut.Enabled = False End If End Sub

More Related