📄 012.htm
字号:
face="宋体" lang="ZH-CN">号等。编辑框还可以进行字符选择操作、粘贴、复制和剪切操作。 </p>
</font><p>4.3.2 TMemo <font face="宋体" lang="ZH-CN">部件 </p>
</font><p> TMemo<font face="宋体" lang="ZH-CN">部件与</font>TEdit<font
face="宋体" lang="ZH-CN">部件类似,能向用户显示数据,用户也可输入数据。与</font>TEdit
<font face="宋体" lang="ZH-CN">部件</p>
<p>不同的是,</font>TMemo<font face="宋体" lang="ZH-CN">部件可以处理多行文本,因此主要用于编辑文件。</p>
<p> </font>TMemo<font face="宋体" lang="ZH-CN">的</font>Text<font face="宋体"
lang="ZH-CN">属性只能在运行时才能访问。</font>Modified<font face="宋体"
lang="ZH-CN">属性用以标识</font>Text<font face="宋体" lang="ZH-CN">的数据是否改</p>
<p>变,通过设置</font>MaxLength<font face="宋体" lang="ZH-CN">属性值来限制用户输入字符的数量。</p>
<p> 如果把文本当成一个整体进行访问,可使用</font>Text<font
face="宋体" lang="ZH-CN">属性;若想逐行访问,则要使用</font>Lines<font
face="宋体" lang="ZH-CN">属性。</font>Lines<font face="宋体" lang="ZH-CN">属性能对文件更方便地进行访问。</font>Lines<font
face="宋体" lang="ZH-CN">是</font>TStrings<font face="宋体" lang="ZH-CN">类型的,因此可使用</font>Add
<font face="宋体" lang="ZH-CN">、</font>Delete<font face="宋体" lang="ZH-CN">方法,例如在</font>Memo1<font
face="宋体" lang="ZH-CN">中加入一行字符串的代码如下:</font> </p>
<p>Memo1.Lines.Add('Another line is added'); </p>
<p><font face="宋体" lang="ZH-CN"> 通过</font>Lines<font
face="宋体" lang="ZH-CN">属性可以方便地把文件读入部件中,例程中使用下面的代码将文件读入</font>Memo1<font
face="宋体" lang="ZH-CN">: </p>
</font><p>Memo1.Lines.loadFromFile(Filename). </p>
<p><font face="宋体" lang="ZH-CN">从</font>TMemo <font face="宋体" lang="ZH-CN">部件中剪切、复制、粘贴文本非常方便,只需使用</font>
CutToclipboard <font face="宋体" lang="ZH-CN">,</font>CopyToClipBroad,PasteFromClipBoard<font
face="宋体" lang="ZH-CN">方法,其代码如下: </p>
<p> </font>Memo1.CopyToClipboard</p>
<font face="宋体" lang="ZH-CN"><p> </font>Memo1.CutToClipboard</p>
<font face="宋体" lang="ZH-CN"><p> </font>Memo1.PasteFromClipboard </p>
<p> TMemo<font face="宋体" lang="ZH-CN">有一些属性,用以控制文本的显示效果。</font>ScrollBars<font
face="宋体" lang="ZH-CN">属性可以定义部件的水平滚动条和垂直滚动条。当文件字体改变时,使用</font>AutoSize<font
face="宋体" lang="ZH-CN">属性可使部件大小做相应的调整。设置</font>WordWrap<font
face="宋体" lang="ZH-CN">属性可以实现自动换行。</p>
<p> 例程中</font>Edit|WordWrap<font face="宋体" lang="ZH-CN">菜单项提供了设置</font>WordWrap<font
face="宋体" lang="ZH-CN">的功能,并可根据</font>WordWrap<font face="宋体"
lang="ZH-CN">的值决定滚动条的形式。当</font>WordWrap<font face="宋体"
lang="ZH-CN">为真时,不需要水平滚动条,</font> <font face="宋体"
lang="ZH-CN">并在菜单中作出检查记号。</font></p>
<p><font face="宋体" lang="ZH-CN">其代码如下: </p>
<p> </font>procedure TEditForm.SetWordWrap(Sender: TObject);</p>
<p>begin</p>
<p>with Memo1 do</p>
<p>begin</p>
<p>WordWrap := not WordWrap;</p>
<p>if WordWrap then</p>
<p>ScrollBars := ssVertical else</p>
<p>ScrollBars := ssBoth;</p>
<p>WordWrap1.Checked := WordWrap;</p>
<p>end;</p>
<p>SetEditRect;</p>
<p>end; </p>
<p> TMemo<font face="宋体" lang="ZH-CN">部件提供了一组关于选择文本的属性和方法。如果想在部件成为当前控件时自动选择文本,可设置</font>
AutoSelect <font face="宋体" lang="ZH-CN">属性。运行时可用</font>SelectAll <font
face="宋体" lang="ZH-CN">方法选中部件的全部文本。</font> Selstart<font
face="宋体" lang="ZH-CN">属性返回选中文本的开始位置,</font>SelText <font
face="宋体" lang="ZH-CN">包含着被选中的文本。</font>SelLength<font
face="宋体" lang="ZH-CN">属性返回选中文本的长度,这两个属性可用于字符串的查找和替换。下一节将详细讨论。</p>
<p> </font>TMemo<font face="宋体" lang="ZH-CN">的</font>Modified<font
face="宋体" lang="ZH-CN">属性是一个运行时才能得到的属性,可判断部件被创建时或</font>Modified<font
face="宋体" lang="ZH-CN">属性最后一次设置成假值之后,部件上的文本是否修改。如果修改了,</font>Modified
<font face="宋体" lang="ZH-CN">将设成真值,反之假值。</p>
<p> 例程中在关闭文件时将测试文件的</font>modified<font face="宋体"
lang="ZH-CN">属性,如果文件修改后尚未保存,</font> <font face="宋体"
lang="ZH-CN">将出现对话框,询问用户是否保存文件,其代码如下: </p>
<p> </font> procedure TEditForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);</p>
<p>var</p>
<p>DialogValue: Integer;</p>
<p>FName: string;</p>
<p>begin</p>
<p>if Memo1.Modified then</p>
<p>begin</p>
<p>FName := Caption;</p>
<p>DialogValue := MessageDlg(Format(SWarningText, [FName]), mtConfirmation,</p>
<p>[mbYes, mbNo, mbCancel], 0);</p>
<p>case DialogValue of</p>
<p>id_Yes: Save1Click(Self);</p>
<p>id_Cancel: CanClose := False;</p>
<p>end;</p>
<p>end;</p>
<p>end; </p>
<p>4.4 <font face="宋体" lang="ZH-CN">常用对话框的使用 </p>
<p> </font> Delphi<font face="宋体" lang="ZH-CN">的可视部件类库</font>(Vistual
Component Liberty)<font face="宋体" lang="ZH-CN">中,有一组对话框部件,在对象选择板的</font>Dialog
<font face="宋体" lang="ZH-CN">页面中可以找到。</font> <font face="宋体"
lang="ZH-CN">本节着重介绍与文件编辑有关的字体对话框</font>(TFontDialog
Componement)<font face="宋体" lang="ZH-CN">,查找对话框</font>(TFindDialog
Componement) <font face="宋体" lang="ZH-CN">,替换对话框</font>(TReplace Dialog
Componement)<font face="宋体" lang="ZH-CN">,文件对开对话框</font>(TOpenDIalog
Componement).</p>
<font face="宋体" lang="ZH-CN"><p> </font> <font face="宋体" lang="ZH-CN">应用这几个对话框可对文件进行字体设置、查找、替换等操作,但需要编写相应的代码。 </p>
</font><p>4.4.1<font face="宋体" lang="ZH-CN">字体对话框部件 </p>
<p> 字体对话框部件在应用程序中产生字体对话框,</font> <font
face="宋体" lang="ZH-CN">用户可在对话框中进行字体选择和属性设置。用户选择字体并按下</font>OK<font
face="宋体" lang="ZH-CN">按钮之后,有关信息便贮存在部件的</font>Font<font
face="宋体" lang="ZH-CN">属性中。</p>
<p> 应用程序可通过调用字体对话框的</font>Execult<font face="宋体"
lang="ZH-CN">方法来显示对话框,当用户选择</font>OK<font face="宋体"
lang="ZH-CN">按钮时,</font>Execult<font face="宋体" lang="ZH-CN">返回</font>True<font
face="宋体" lang="ZH-CN">值,否则返回</font>Flase<font face="宋体" lang="ZH-CN">值。</font></p>
<p><font face="宋体" lang="ZH-CN">应用程序可以使用</font>Options<font
face="宋体" lang="ZH-CN">属性来定义字体对话框的显示和行为方式:例如可在对话框中定义一个帮助按钮或指定出现在字体列表框中的字体。有关</font>Options<font
face="宋体" lang="ZH-CN">的主要取值如下表</font>4.1<font face="宋体"
lang="ZH-CN">: </p>
</font><p><font face="宋体" lang="ZH-CN">表</font>4.1 <font face="宋体" lang="ZH-CN">字体对话框的</font>Options<font
face="宋体" lang="ZH-CN">取值及含义</font></p>
<p><font face="宋体" lang="ZH-CN">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</font></p>
<p><font face="宋体" lang="ZH-CN">取值 </font> <font face="宋体"
lang="ZH-CN"> 含义</font></p>
<p><font face="宋体" lang="ZH-CN">───────────────────────────────────────</font></p>
<p>AdAnsiOnly <font face="宋体" lang="ZH-CN">如果是真值,只能使用</font>Window<font
face="宋体" lang="ZH-CN">字符集,</font></p>
<p>fdEffects <font face="宋体" lang="ZH-CN">如果是真值,对话框中显示颜色列表和效果检查框;用户可使</font></p>
<p><font face="宋体" lang="ZH-CN">用效果检查框定义</font>Strikout<font
face="宋体" lang="ZH-CN">下划线文本;使用颜色列表定义字体</font></p>
<p><font face="宋体" lang="ZH-CN">颜色。</font></p>
<p>fdForceFontExise <font face="宋体" lang="ZH-CN"> 如果是真值,用户在字体组合框中输入字体名后选择</font>OK<font
face="宋体" lang="ZH-CN">按钮,</font></p>
<p><font face="宋体" lang="ZH-CN">将出现一个用户字体无效的消息框。</font></p>
<p>fdNoOEMFont<font face="宋体" lang="ZH-CN"> </font> <font face="宋体"
lang="ZH-CN">如果是真值,字体组合框中将不显示向量字体。</font></p>
<p>fdShowHelp <font face="宋体" lang="ZH-CN">如果是真值,对话框显示</font>Help<font
face="宋体" lang="ZH-CN">按按钮。</font></p>
<p>fdWysiwyg <font face="宋体" lang="ZH-CN">如果是真值,</font> <font
face="宋体" lang="ZH-CN">只有打印和屏幕均可得到的字体才会出现在字体</p>
<p> </font> <font face="宋体" lang="ZH-CN">组合框中。</font></p>
<p><font face="宋体" lang="ZH-CN">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</p>
<p> </p>
<p> 例程中</font>(Edit/Font)<font face="宋体" lang="ZH-CN">菜单具有设置文本字体的功能,其代码如下:</p>
<p> </p>
<p> </font>procedure TEditForm.SetFont(Sender : TObject);</p>
<p>begin</p>
<p>FontDialog.Font := Memo1.Font;</p>
<p>if FontDialog1.Execult then</p>
<p>Memo1.Fout := FontDialog1.Font;</p>
<p>SetEdit Rect;</p>
<p>end;<font face="宋体" lang="ZH-CN"> </font></p>
<hr color="#EE9B73" size="1" width="94%">
</TD>
<TD CLASS="tt3" VALIGN="bottom" width="8%" bgcolor="#e0e0e0"><strong><A HREF="013.htm"><FONT style="FONT-SIZE: 9pt">后一页</font></A><BR>
<A HREF="011.htm"><FONT style="FONT-SIZE: 9pt">前一页</font></A><BR>
<A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目录</font></A><BR>
<A HREF="../../../../index.htm"><FONT style="FONT-SIZE: 9pt">回首页</font></A><BR>
</strong>
</TD>
</TR>
</table>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -