《Delphi程序设计》主讲:陈强南昌理工学院计算机系《Delphi程序设计》第1章Delphi2005简介第2章ObjectPascal语言基础第3章Windows应用程序界面设计第4章菜单、工具栏和对话框第5章使用复杂组件第6章面向对象的核心特性第7章多文档界面设计第8章程序调试与异常处理第9章文件操作和流第10章多媒体应用设计第11章数据库应用设计第12章综合应用设计《Delphi程序设计》第4章菜单、工具栏和对话框1.4.1菜单2.4.2行为列表组件ActionList3.4.3工具栏与状态栏4.4.4消息框与输入框5.4.5Windows通用对话框《Delphi程序设计》4.1菜单1.4.1.1主菜单MainMenu2.4.1.2弹出式菜单PopupMenu3.4.1.3菜单图像与图像列表组件ImageListTComponent组件类TMainMenu主菜单类TMenuTMenuItem菜单项类TPopupMenu弹出式菜单类《Delphi程序设计》4.1.1主菜单MainMenu主菜单是相对于窗口而言的,它出现在窗口的标题栏下,与窗口同时出现。1.菜单设计器2.菜单项的特性3.菜单项的状态①复选②单选《Delphi程序设计》【例4.1】设计主菜单。1.添加主菜单组件2.添加菜单项3.设置分隔条4.子菜单5.设置快捷键和加速键6.设置有效状态7.设置复选标志8.设置单选标志9.编写菜单项的事件处理程序《Delphi程序设计》菜单结构文件(&F)File1新建(&N)New1帮助(&H)Help1查看(&V)View1编辑(&E)Edit1打印机设置(&R)…PrinterSetup1另存为(&A)…SaveAs1保存(&S)Save1打开(&O)…Open1撤销(&U)Undo1背景颜色(&O)…Color1字体(&N)…Font1粘贴(&P)Paste1剪切(&T)Cut1状态栏(&S)mStatusBar1格式(&S)Style1常用(&N)Normal1大图标(&G)LargeIcon1工具栏(&T)mToolBar1退出(&X)Exit1替换(&R)…Replace1查找(&F)…Find1关于(&A)…About1打印(&P)…Print1复制(&C)Copy1报告(&R)Report1列表(&L)List1小图标(&M)SmallIcon1《Delphi程序设计》4.1.2弹出式菜单PopupMenu弹出式菜单是相对于控件而言的1.将某个控件的PopupMenu属性设置为一个已存在的弹出式菜单《Delphi程序设计》4.1.3菜单图像与图像列表组件ImageList1.图像列表组件中添加图像2.菜单与图像列表组件相关联①菜单组件与图像列表组件相关联②菜单项与ImageList中的指定图像相关联《Delphi程序设计》4.2行为列表组件ActionList1.行为(Action)2.ActionList编辑器3.添加标准行为4.自定义行为《Delphi程序设计》【例4.2】使用ActionList组件设计菜单。添加系统定义的Cut、Copy和Paste等标准行为1.添加组件2.为ActionList添加行为3.使用Action属性创建菜单项《Delphi程序设计》4.3工具栏与状态栏1.4.3.1工具栏ToolBar2.4.3.2状态栏StatusBar《Delphi程序设计》4.3.1工具栏ToolBar1.创建ToolBar的按钮ToolButton①执行NewButton②执行NewSeparator2.ToolBar上添加其他组件《Delphi程序设计》【例4.3】设计工具栏。建立常用与格式工具栏,演示自定义行为的操作。1.设计常用工具栏2.格式工具栏上添加按钮3.添加带下拉菜单的按钮4.格式工具栏上添加ComboBox、SpinEdit等组件5.格式工具栏的状态随着光标位置处文本字体的改变而改变6.显示与隐藏工具栏7.自定义行为《Delphi程序设计》4.3.2状态栏StatusBarSimplePanel属性决定单面板与多面板。【例4.4】设计状态栏。①添加状态栏②显示光标当前位置③显示数据修改过的状态④显示系统时间《Delphi程序设计》4.4消息框与输入框1.4.4.1消息框与信息函数2.4.4.2输入框与输入函数《Delphi程序设计》4.4.1消息框与信息函数1.ShowMessage过程procedureShowMessage(constMsg:string);2.MessageDlg函数functionMessageDlg(constMsg:string;DlgType:TMsgDlgType;Buttons:TMsgDlgButtons;HelpCtx:integer):integer;例如,MessageDlg('数据已经改动,是否存盘?',mtConfirmation,[mbYes,mbNO,mbCancel],1);3.MessageDlgPos函数《Delphi程序设计》4.4.2输入框与输入函数1.InputBox函数functionInputBox(constACaption,APrompt,ADefault:string):string;例如,LoginName:=InputBox('登录','请输入用户名:','guest');2.InputQuery函数functionInputQuery(constACaption,APrompt:string;varValue:string):Boolean;《Delphi程序设计》4.5Windows通用对话框1.4.5.1打开与保存文件对话框2.4.5.2字体与颜色对话框3.4.5.3查找与替换对话框4.4.5.4页面设置、打印与打印设置对话框《Delphi程序设计》对话框组件类TCommonDialogTSaveDialog保存文件对话框TOpenDialog打开文件对话框TFindDialog查找对话框TOpenPictureDialog打开图像文件对话框TComponent组件类TReplaceDialog替换对话框TSavePictureDialog保存图像文件对话框TFontDialog字体对话框TColorDialog颜色对话框TPrintDialog打印对话框TPrinterSetupDialog打印设置对话框TPageSetupDialog页面设置对话框《Delphi程序设计》4.5.1打开与保存文件对话框1.打开文件对话框(OpenDialog)①调用打开文件对话框:执行Execute方法②OpenDialog组件的属性:FileName、InitialDir、Filter、Options③OpenDialog的主要事件:OnFolderChange2.保存文件对话框(SaveDialog)3.打开与保存图形文件对话框《Delphi程序设计》4.5.2字体与颜色对话框1.字体对话框(FontDialog)①执行Execute方法,所选字体存储在FontDialog.Font属性中2.颜色对话框(ColorDialog)①执行Execute方法,所选颜色存储在ColorDialog.Color属性中3.TColor类①以RGB函数值表示颜色:RGB(255,0,0)②以常量值表示颜色:clRed、clGreen《Delphi程序设计》4.5.3查找与替换对话框1.查找对话框(FindDialog)①执行Execute方法②FindDialog的属性FindText属性,保存查找内容字符串。Options属性,集合类型,设置全字匹配、区分大小写、查找方向等选项。③FindDialog的事件OnFind事件,单击【查找下一个】按钮时触发。OnClose事件,单击【取消】按钮时触发。《Delphi程序设计》2.替换对话框(ReplaceDialog)1.执行Execute方法2.ReplaceDialog的属性①FindText属性,保存查找内容字符串。②ReplaceText属性,保存替换内容字符串。③Options属性,设置选项。3.ReplaceDialog的事件①OnFind事件,单击【查找下一个】按钮时触发。②OnClose事件,单击【取消】按钮时触发。③OnReplace事件,单击【替换】或【全部替换】按钮时触发。《Delphi程序设计》【例4.5】调用系统对话框。1.新建文件功能2.打开文件3.保存与另存文件4.设置字体5.改变颜色6.查找7.替换a)替换算法描述b)调用指定事件处理程序c)父类对象与子类对象的识别《Delphi程序设计》4.5.4页面设置、打印与打印设置对话框1.页面设置对话框(PageSetupDialog)2.打印对话框(PrintDialog)3.打印设置对话框(PrinterSetupDialog)《Delphi程序设计》实验4设计菜单、工具栏1.实验1——自动判题2.实验2——设计记事本或写字板