第 7 章 菜单和控件

22
7 7 第第第第第 第第第第第 •人人人人人人人 21 人人人人人人人人人人人人人人人人人

Upload: murphy-nieves

Post on 15-Mar-2016

106 views

Category:

Documents


5 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 第 7 章 菜单和控件

第第 77 章 菜单和控件章 菜单和控件

•人民邮电出版社

21 世纪高等学校计算机基础教育系列教材

Page 2: 第 7 章 菜单和控件

菜单和控件 常用控件常用控件1.1. 文本框文本框2.2. 标签标签3.3. 命令按钮命令按钮4.4. 列表框列表框5.5. 下拉列表框下拉列表框 6. 时钟控件 7. 通用对话框控件

Page 3: 第 7 章 菜单和控件

方法 所显示的对话框 Action值ShowOpen “ ”显示 打开 对话框 1ShowSave “ ”显示 另存为 对话框 2ShowColor “ ”显示 颜色 对话框 3ShowFont “ ”显示 字体 对话框 4ShowPrinter “ ” “ ”显示 打印 或 打印选项 对话框 5ShowHelp 调用 Windows 帮助引擎 6

菜单和控件

Page 4: 第 7 章 菜单和控件

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

Page 5: 第 7 章 菜单和控件

菜单和控件 Const HelpCNT = &HBPrivate Sub Command1_Click(Index As Integer)Select Case IndexCase 1 Cd1.CancelError = True On Error GoTo ErrHandler1Cd1.Flags = cdlOFNHideReadOnlyCd1.Filter = "All Files (*.*)|*.*|Text Files" "(*.txt)|*.txt|Batch Files (*.bat)|*.bat"Cd1.FilterIndex = 2Cd1.ShowOpenMsgBox Cd1.FileNameText1.Text = Cd1.FileName

ErrHandler1:Case 2 Cd1.CancelError = True On Error GoTo ErrHandler2Cd1.Flags = cdlOFNHideReadOnlyCd1.Filter = "All Files (*.*)|*.*|Text Files" & _"(*.txt)|*.txt|Batch Files (*.bat)|*.bat"Cd1.FilterIndex = 2Cd1.ShowOpenMsgBox Cd1.FileNameText1.Text = Cd1.FileNameErrHandler2:

Page 6: 第 7 章 菜单和控件

菜单和控件 Cd1.Flags = cdlCCRGBInit Cd1.Action = 3 text1.ForeColor = Cd1.ColorErrHandler3:Case 4Cd1.CancelError = TrueOn Error GoTo ErrHandler4Cd1.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.ColorErrHandler4:Case 5Cd1.CancelError = TrueOn Error GoTo ErrHandler5Cd1.ShowPrinterBeginPage = Cd1.FromPage

Page 7: 第 7 章 菜单和控件

菜单和控件 EndPage = Cd1.ToPageNumCopies = Cd1.CopiesFor i = 1 To NumCopiesNext iErrHandler5:Case 6 With Cd1 .HelpFile = "vocus.hlp"

.HelpCommand = HelpCNT Or cdlHelpSetContents .ShowHelpEnd WithCase 0 EndEnd SelectEnd Sub

Page 8: 第 7 章 菜单和控件

菜单和控件

用通用对话框设置后 Text1的字体和内容

Page 9: 第 7 章 菜单和控件

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

Page 10: 第 7 章 菜单和控件

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

菜单和控件

Page 11: 第 7 章 菜单和控件

使用菜单下拉式菜单 1. 菜单编辑器

Page 12: 第 7 章 菜单和控件

名称 类型 Caption或 text 可见 复选 Checked 其他

Form1 窗体 Form1 Yes - - -Main 顶层菜单 文本格式 Yes No - -Under 子菜单 下划线 Yes Yes False -Bold 子菜单 粗体 Yes Yes False -It 子菜单 斜体 Yes Yes False -Exit 子菜单 退出 Yes No - -Edit 顶层菜单 文本编辑 Yes No - -Copy 子菜单 复制 Yes No - -Paste 子菜单 粘贴 Yes No - -Delete 子菜单 删除 Yes No - -Help 顶层菜单 帮助 Yes No - -About 子菜单 关于 Yes No - -Label1 标签 字体 Yes - - -Label2 标签 字号 Yes - - -Text1 文本框 Yes Multiline=true scrollbars=2Combo1 下拉列表框 Text1.fontname yes - - -Combo2 下拉列表框 Text1.fontsize yes - - -

Page 13: 第 7 章 菜单和控件

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

Page 14: 第 7 章 菜单和控件

Private Sub delete_Click() ' 删除菜单Text1.SelText = ""End SubPrivate 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"

Page 15: 第 7 章 菜单和控件

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 = FalseEnd SubPrivate Sub it_Click() '斜体菜单代码 If it.Checked = True Then it.Checked = False Text1.FontItalic = FalseElse it.Checked = True Text1.FontItalic = TrueEnd IfEnd Sub

Page 16: 第 7 章 菜单和控件

Private Sub paste_Click() '粘贴菜单代码If Clipboard.GetText <> "" Then Text1.SelText = Clipboard.GetTextEnd IfEnd SubPrivate Sub quit_Click() '退出 EndEnd SubPrivate Sub under_Click() ' 下划线If under.Checked = True Then under.Checked = True Text1.FontUnderline = FalseElse under.Checked = True Text1.FontUnderline = TrueEnd IfEnd Sub

Page 17: 第 7 章 菜单和控件

Private Sub bold_Click() '粗体If bold.Checked = False Then bold.Checked = True Text1.FontBold = TrueElse bold.Checked = False Text1.FontBold = FalseEnd IfEnd Sub

Page 18: 第 7 章 菜单和控件

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

Page 19: 第 7 章 菜单和控件

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

e, Y As Single)If Button = 2 Then PopupMenu main End IfEnd Sub

Page 20: 第 7 章 菜单和控件

Private Sub it_Click() Text1.FontItalic = Tr

ueEnd SubPrivate Sub quit_Click

() EndEnd SubPrivate Sub si_Click() Text1.FontSize = 20End Sub

Private Sub tt_Click() Text1.Font = "隶书 "End SubPrivate Sub under_Click() Text1.FontUnderline = TrueEnd SubPrivate Sub bold_Click() Text1.FontBold = TrueEnd Sub

Page 21: 第 7 章 菜单和控件

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

Page 22: 第 7 章 菜单和控件

Private Sub copys_Click() Clipboard.SetText Text1.SelText pastes.Enabled = TrueEnd SubPrivate Sub cut_Click() Clipboard.SetText Text1.SelText Text1.SelText = "" pastes.Enabled = TrueEnd SubPrivate Sub pastes_Click() Text1.SelText = Clipboard.GetTextEnd 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 IfEnd Sub