首页 / 软件开发 / Delphi / 第四章-文本编辑器的设计(一)(4)
第四章-文本编辑器的设计(一)(4)2007-05-08TMemo部件提供了一组关于选择文本的属性和方法。如果想在部件成为当前控件时自动选择文本,可设置 AutoSelect 属性。运行时可用SelectAll 方法选中部件的全部文本。 Selstart属性返回选中文本的开始位置,SelText 包含着被选中的文本。SelLength属性返回选中文本的长度,这两个属性可用于字符串的查找和替换。下一节将详细讨论。TMemo的Modified属性是一个运行时才能得到的属性,可判断部件被创建时或Modified属性最后一次设置成假值之后,部件上的文本是否修改。如果修改了,Modified 将设成真值,反之假值。例程中在关闭文件时将测试文件的modified属性,如果文件修改后尚未保存, 将出现对话框,询问用户是否保存文件,其代码如下: procedure TEditForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);varDialogValue: Integer;FName: string;beginif Memo1.Modified thenbeginFName := Caption;DialogValue := MessageDlg(Format(SWarningText, [FName]), mtConfirmation,[mbYes, mbNo, mbCancel], 0);case DialogValue ofid_Yes: Save1Click(Self);id_Cancel: CanClose := False;end;end;end; 4.4 常用对话框的使用 Delphi的可视部件类库(Vistual Component Liberty)中,有一组对话框部件,在对象选择板的Dialog 页面中可以找到。 本节着重介绍与文件编辑有关的字体对话框(TFontDialog Componement),查找对话框(TFindDialog Componement) ,替换对话框(TReplace Dialog Componement),文件对开对话框(TOpenDIalog Componement). 应用这几个对话框可对文件进行字体设置、查找、替换等操作,但需要编写相应的代码。 4.4.1字体对话框部件 字体对话框部件在应用程序中产生字体对话框, 用户可在对话框中进行字体选择和属性设置。用户选择字体并按下OK按钮之后,有关信息便贮存在部件的Font属性中。应用程序可通过调用字体对话框的Execult方法来显示对话框,当用户选择OK按钮时,Execult返回True值,否则返回Flase值。应用程序可以使用Options属性来定义字体对话框的显示和行为方式:例如可在对话框中定义一个帮助按钮或指定出现在字体列表框中的字体。有关Options的主要取值如下表4.1: 表4.1 字体对话框的Options取值及含义━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━取值 含义───────────────────────────────────────AdAnsiOnly 如果是真值,只能使用Window字符集,fdEffects 如果是真值,对话框中显示颜色列表和效果检查框;用户可使用效果检查框定义Strikout下划线文本;使用颜色列表定义字体颜色。fdForceFontExise 如果是真值,用户在字体组合框中输入字体名后选择OK按钮,将出现一个用户字体无效的消息框。fdNoOEMFont 如果是真值,字体组合框中将不显示向量字体。fdShowHelp 如果是真值,对话框显示Help按按钮。fdWysiwyg 如果是真值, 只有打印和屏幕均可得到的字体才会出现在字体组合框中。━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━例程中(Edit/Font)菜单具有设置文本字体的功能,其代码如下:procedure TEditForm.SetFont(Sender : TObject);beginFontDialog.Font := Memo1.Font;if FontDialog1.Execult thenMemo1.Fout := FontDialog1.Font;SetEdit Rect;end;