Delphi程序设计基础 教学课件 ppt 作者 张世明 第6章

上传人:E**** 文档编号:89372685 上传时间:2019-05-24 格式:PPT 页数:168 大小:275KB
返回 下载 相关 举报
Delphi程序设计基础 教学课件 ppt 作者  张世明 第6章_第1页
第1页 / 共168页
Delphi程序设计基础 教学课件 ppt 作者  张世明 第6章_第2页
第2页 / 共168页
Delphi程序设计基础 教学课件 ppt 作者  张世明 第6章_第3页
第3页 / 共168页
Delphi程序设计基础 教学课件 ppt 作者  张世明 第6章_第4页
第4页 / 共168页
Delphi程序设计基础 教学课件 ppt 作者  张世明 第6章_第5页
第5页 / 共168页
点击查看更多>>
资源描述

《Delphi程序设计基础 教学课件 ppt 作者 张世明 第6章》由会员分享,可在线阅读,更多相关《Delphi程序设计基础 教学课件 ppt 作者 张世明 第6章(168页珍藏版)》请在金锄头文库上搜索。

1、,第6章 对话框设计,6.1 “打开”对话框组件 6.2 “保存”对话框组件 6.3 “字体”对话框组件 6.4 “颜色”对话框组件 6.5 “打印”对话框组件 6.6 “打印设置”和 “页面设置”对话框 6.7 “查找”对话框组件 6.8 “替换”对话框组件 6.9 标准对话框,几乎所有的Windows应用程序都借助于对话框和用户进行交流,对话框本质是一种窗口,不但可以接受消息,还能移动和关闭。,Delphi应用程序可使用三种对话框。,由Delphi 自动提供的对话框组件。,如打开文件对话框、文件保存对话框、字体对话框、颜色对话框、查找对话框和替换对话框等。,Delphi 预定义的标准对话框

2、,包括消息框和输入框。,可用函数和过程调用的形式来显示这些对话框。,用户自己设计的对话框。,Delphi 的公共对话框组件都是从抽象的TCommonDialog继承下来的,而TCommonDialog又是从TComponent继承下来的。,因此,这些对话框组件都是非可视的。,在设计期,把这些公共对话框组件加到Form上后,看到的是这些对话框组件的图标。,只有调用这些对话框的Execute( )方法,才能在运行期看到真正的对话框。,6.1 “打开”对话框组件,“打开”对话框,是用来打开文件的对话框,是用TOpenDialog组件实现的。,常用属性: DefaultExt属性:用于指定一个默认的扩

3、展名。,FileName属性:指定一个文件名。在打开对话框时,这个文件名出现在对话框的“文件名”框中。,Filter属性:设置文件过滤器,让对话框只列出特定类型的文件。,单击Filter属性右侧的省略号按钮,可打开Filter Editor对话框,从中定义Filter属性。,FilterIndex属性:如果有多个过滤器,这个属性用于指定一个作为默认过滤器。,InitialDir属性:默认情况下,对话框打开时,文件列表中显示的是当前目录的文件。,可以设置这个属性指定另外一个目录。,Title属性:用于设置对话框的标题。,另外TOpenDialog组件有一组Options属性,缺省时它们的取值均为

4、False。,TOpenPictureDialog的直接上级是TOpenDialog,它的特性、方法和事件与TOpenDialog全相同。,它的外观与一般的“打开”对话框很相似,只是增加了一个预览区域。,当用户选择图像文件时,预览区域就显示用户所选择的图像,并且显示该图像的大小。,单击对话框上的放大镜按钮,可以放大显示图像。,可以预览的图像格式有BMP、ICO、WMF和EMF,如果是其他格式的图像,预览区域将显示“(None)”。,例: procedure TForm1.Button1Click(Sender: TObject); begin with OpenDialog1 do begin

5、,Filter:=文本文件(*.txt)|*.txt; DefaultExt:=txt; FileName:=;,Options:=ofHideReadOnly,ofFileMustExist,ofPathMustExist;,if Execute then if ofExtensionDifferent in Options then MessageDlg(这不是文本文件!,mtError,mbOK,0) Else,Memo1.Lines.LoadFromFile(FileName); end; end;,6.2 “保存”对话框组件,“保存”对话框组件的属性以及界面和“打开”对话框几乎一样。

6、,与打开对话框一样,保存对话框也有一个带图像预览的“保存”对话框,是用TSavePictureDialog元件实现的。,在保存图像文件时,可以在对话框中预览图像。,TSavsPictureDialog的直接上级是TOpenPictureDialog。,它的特性、方法和事件与TOpenPictureDialog组件完全相同。,它的外观与一般的“另存为”对话框很相似,只是增加了一个预览区域。,图象的用法和格式同TOpenPictureDialog。,例: procedure TForm1.Button2Click(Sender: TObject);,begin with SaveDialog1 d

7、o if Execute then begin,Memo1.Lines.SaveToFile(FileName); Memo1.Modified:=False; end; end;,6.3 “字体”对话框组件,大多数文本编辑软件都提供用户使用“字体”对话框,用于设置选定文本的字体、字号、字形、字色等。,为了方便用户,Delphi预定义了FontDialog组件。,常用属性和事件: Device属性:用于设置从哪儿检索可用的字体。,(可选项有fdScreen/屏幕、fdPrinter/打印机、fdBoth/两者)。,OnApply事件:当OnApply事件被定义后,字体对话框会出现应用按钮,当用

8、户按下应用按钮时将触发这个事件。,TFontDialog组件有一组Options属性,缺省时它们的取值均为False。,例: procedure TForm1.FontDialog1Apply(Sender: TObject; Wnd: HWND); begin Memo1.Font:=FontDialog1.Font; end;,procedure TForm1.Button3Click(Sender: TObject); begin with FontDialog1 do begin Font:=Memo1.Font;,if Execute then Memo1.Font:=Font; e

9、nd; end;,6.4 “颜色”对话框组件,颜色对话框用于设置选定对象的前景色和背景色,是用TColorDialog组件实现的。,例: procedure TForm1.Button4Click(Sender: TObject); begin with ColorDialog1 do begin Color:=Memo1.Color;,if Execute then Memo1.Color:=Color; end; end;,6.5 “打印”对话框组件,“打印”对话框是用TPrintDialog组件实现的。,它能让用户选择使用哪台打印机、设置打印机的属性、选择页的范围、设置打印份数等。,“打

10、印”组件的常用属性有: Collate:若该属性为True,对话框中的“分页”复选框就被选中。,Copies:设置打印的份数。,FromPage、ToPage:设置打印范围的起始页码和结束页码。,PrintToFile:打印作业被输出到一个文件而不是到打印机上。,例: procedure TForm1.Button5Click(Sender: TObject);,begin with PrintDialog1 do begin Options:=poPrintToFile;,PrintToFile:=True; if Execute then,begin if PrintTofile then

11、 begin SaveDialog1.Title:=打印到文件:;,if SaveDialog1.Execute then Memo1.Lines.SaveToFile(SaveDialog1.FileName);,end else Memo1.PaintTo(Handle, 10, 10); end; end; end;,6.6 “打印设置”和 “页面设置”对话框,“打印设置”对话框是用TPrinterSetupDialog组件实现的。,“页面设置”对话框是用TPageSetupDialog组件实现的。,例: procedure TForm1.Button6Click(Sender: TOb

12、ject);,begin with PrinterSetupDialog1 do begin Execute; end; end;,procedure TForm1.Button9Click(Sender: TObject);,begin with PageSetupDialog1 do begin Execute; end; end;,6.7 “查找”对话框组件,查找对话框用于查找指定字符串,是一种非模态对话框。,在查找对话框中有一个找下一个按钮,单击该按钮就可以开始对指定字符串的查找。,这是通过调用FindDialog组件的OnFind事件的响应过程来实现的。,例: 为FindDialog

13、1添加OnFind事件,事件响应过程为FindDialog1Find。,procedure TForm1.FindDialog1Find(Sender: TObject);,var FoundPos,InitPos:integer;,begin InitPos:=Memo1.SelStart+Memo1.SelLength;,FoundPos:=Pos(FindDialog1.FindText,Copy(Memo1.Text,InitPos+1, Length(Memo1.Text)-InitPos);,if FoundPos0 then begin Memo1.SetFocus;,Memo1

14、.SelStart:=InitPos+FoundPos-1;,Memo1.SelLength:=Length(FindDialog1.FindText);,end else begin Messagedlg(没有找到要查找的文本!,mtInformation,mbOK,0); end; end; procedure TForm1.Button7Click(Sender: TObject);,begin with FindDialog1 do begin OnFind:=FindDialog1Find;,Execute; end; end;,6.8 “替换”对话框组件,为ReplaceDialo

15、g1添加OnFind事件,事件响应过程为ReplaceDialog1Find。,procedure TForm1.ReplaceDialog1Find(Sender: TObject);,var FoundPos,InitPos:integer;,begin InitPos:=Memo1.SelStart+Memo1.SelLength;,FoundPos:=Pos(ReplaceDialog1.FindText,Copy(Memo1.Text,InitPos+1,Length(Memo1.Text)-InitPos);,if FoundPos0 then begin Memo1.SetFoc

16、us;,Memo1.SelStart:=InitPos+FoundPos-1;,Memo1.SelLength:=Length(ReplaceDialog1.FindText);,end else begin Messagedlg(没有找到要查找的文本!,mtInformation,mbOK,0); end; end;,再为ReplaceDialog1添加OnReplace事件,事件响应过程为RePlaceDialog1Replace:,procedure TForm1.ReplaceDialog1Replace(Sender: TObject);,begin Memo1.SelText:=ReplaceDialog1.ReplaceText; end

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号