多行编辑框组件(TMemo)TMemo组件可以显示、编辑多行文本,是一个标准的Windows多行编辑组件。对一些比较多的文本内容可以利用TMemo组件来显示、编辑。

1.TMemo组件的典型用法

TMemo组件主要用于输入备注型的字符串,它不能进行文字格式的设置。利用TMemo组件Lines属性的LoadFromFile方法打开文本文件,对文本文件进行编辑。编辑完成后再利用Lines属性的SaveToFile方法将编辑后的文本进行保存。
例如下面的代码,在拥有一个Memo1组件和两个Button组件的窗体上,实现了文本文件的打开和保存功能:

procedure TForm1.OpenBtnClick(Sender: TObject); 
begin 
Memo1.Lines.LoadFromFile(’C:\a.txt’); //打开C:\a.txt文件 
end;

procedure TForm1.SaveBtnClick(Sender: TObject); 
begin
Memo1.Lines.SaveToFile(’C:\a.txt’); //保存为C:\a.txt文件 
end;

TMemo组件主要是利用Lines属性进行控制,它的取值类型为TStringList属性。

2.TMemo组件的重要属性

Lines---------------可以访问多行文本中的每一行 
ScrollBars----------此属性用于设置是否要加上滚动条 
WantReturn----------用于解决按下“enter”键是用于换行还是作用于按钮WantTabs每按一次Tab键,将使光标在多行文本编辑器中移动一个制表位WordWrap当输入文字到了多行文本编辑器的右边界时,文字自动换行下面介绍程序中TMemo组件常用的属性。

(1)Lines属性
单击Lines属性后边的“...”按钮打开编辑框,可以对Memo组件的内容进行编辑,通过此属性可以对Memo组件内的每一行进行访问。例如取出Memo1组件第2行的内容显示为Form1的标题:
Form1.Caption:=Memo1.Lines.Strings[1];
利用Line属性的Add方法和Delete方法可以对Memo的内容进行动态地添加和删除。如下代码的功能是向Memo1组件中添加一行内容: 
Memo1.Lines.Add(’在Memo的末尾添加一行内容’);
删除Memo的第1行内容可以这样写: 
Memo1.Lines.Delete(0);

(2)ScrollBars属性 
ScrollBars属性用于设置是否要加上滚动条(因为需要输入多行文字)。本属性设定了以下4个用户可选值。
. ssNone:不加上滚动条。 
. ssHorizontal:加上水平滚动条。 
. ssVertical:加上垂直滚动条。 
. ssBoth:水平和垂直滚动条都加上。

(3)WantReturn属性
假如Form上有一个按钮,并且按钮的Default属性设为True,当用户按下“Enter”键时即相当于单击这个按钮,因为这个按钮是默认按钮。这就带来一个问题—在多行文本编辑器中输入文字时按下Enter键,究竟是换行还是作用于按钮呢? 
WantReturns属性用于解决这个问题。如果WantReturn设为True,按下“Enter”键就是换行。如果WantReturns设为False,按下Enter键就不是换行而是作用于按钮,这时候要换行必须按“Ctrl+Enter”组合键。

(4)WantTabs属性
如果WantTabs属性设为True,每按一次“Tab”键,将使光标在多行文本编辑器中移动一个制表位。如果
WantTabs属性设为False,按下“Tab”键使输入焦点在同一个Form的组件之间依次切换,这时候,要在多行文本编辑器中移动一个制表位,必须按“Ctrl+Tab”组合键。

(5)WordWrap属性
如果此属性设为True,当输入的文字到了多行文本编辑器的右边界时,文字自动换行。当编辑器的水平尺寸改变时,编辑器中的文字也将自动调整。

Delphi TMemo 可以显示、编辑多行文本的更多相关文章

  1. iOS 9应用开发教程之显示编辑文本标签文本框

    iOS 9应用开发教程之显示编辑文本标签文本框 ios9显示.编辑文本 在iOS,经常会看到一些文本的显示.文字就是这些不会说话的设备的嘴巴.通过这些文字,可以很清楚的指定这些设备要表达的信息.本节将 ...

  2. HTML(多行)文本超过部分隐藏,末尾显示(...)

    HTML(多行)文本超过部分隐藏,末尾显示(...) <!DOCTYPE html> <html> <head> <meta charset="ut ...

  3. 在gridControl的单元格中的多行文本

    我们知道,gridcontrol里面的单元格默认是不能换行的,但是有时候我们需要显示要换行的文本,应该怎么处理呢?这里提供一个方案: 假设我有一个列”合同文本“(colContractText),我要 ...

  4. 8.bash编辑命令行

    8.编辑命令行本章介绍 GNU 命令行编辑界面的基本功能.命令行编辑是 Readline 库提供的:这个库被几个不同的程序共用,Bash 是其中一个.使用交互式的 shell 时,默认已经打开了命令行 ...

  5. *像word一样编辑复杂的文本:SpannableString 样式详介

    简介: 使用android.text.Spanned; android.text.SpannableString; android.text.SpannableStringBuilder; 和 and ...

  6. uploadify不能正确显示中文的按钮文本的解决办法

    uploadify 目前不能正确显示中文的按钮文本. 我发现bug的原因是uploadify错误的使用了 js 的 escape 和 flash 的 unescape配对,而这2个是不兼容的.正确的转 ...

  7. NGUI 3.5教程(二)Label 标签 (Hello world)、多行文本

    写在前面:     本文将创建NGUI的第一个样例.依照编程传统,第一个样例,就是做一个Hello world 显示出来.NGUI.我们用Label来实现 . 欢迎大家纠错.拍砖!原创非常辛苦,如有转 ...

  8. MFC控件编程之 按钮编辑框.静态文本的使用,以及访问控件的七种方法.

    MFC控件编程之 按钮编辑框.静态文本的使用以及访问控件的七种方法. 一丶按钮.静态文本的通用属性. 他们都有一个属性.就是可以输入标题内容.以及可以自定义控件ID. 创建一个MFC Dlg对话框. ...

  9. Vue - 实现双击显示编辑框;自动聚焦点击的显示框;点击编辑框外的地方,隐藏编辑框

    实现这三个功能的踩坑记录. 1. 需求 在Vue中,有一个input, 双击时编辑文本,点击该input节点外的其他地方,则取消编辑. 那么这里有三个要实现的地方 第一是双击显示编辑框. 第二是自动聚 ...

随机推荐

  1. python爬虫之beautifulsoup的使用

    一.Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释:Beautiful Soup提供一些简单的.python式 ...

  2. if-else代码优化的八种方案

    前言 代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案. 优化方案一:提前return,去除不必要的else 如 ...

  3. socket基本语法和粘包

    一.基本语法 127.0.0.1     是本地回环地址 客户端                                                                    ...

  4. [状态压缩,折半搜索] 2019牛客暑期多校训练营(第九场)Knapsack Cryptosystem

    链接:https://ac.nowcoder.com/acm/contest/889/D来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言52428 ...

  5. 利用Python获取文件类型

    这里选择使用使用filetype获取文件的类型. 使用filetype之前,先用pip安装filetype. #!/usr/bin/python3 import filetype import arg ...

  6. excel导出功能

    /*  * 导出 add by faby on 20180918   */ public void export(){  HttpServletResponse response=ServletAct ...

  7. Building Applications with Force.com and VisualForce (DEV401) (二五):Visualforce Controller

    Dev401-026:Visualforce Pages: Visualforce Controller   Module Objectives1.Identify the functionality ...

  8. PyTorch专栏(一)

    专栏目录: 第一章:PyTorch之简介与下载 PyTorch简介 PyTorch环境搭建 第二章:PyTorch之60min入门 PyTorch 入门 PyTorch 自动微分 PyTorch 神经 ...

  9. “GANs”与“ODEs”:数学建模的终结?

    在本文中,我想将经典数学建模和机器学习之间建立联系,它们以完全不同的方式模拟身边的对象和过程.虽然数学家基于他们的专业知识和对世界的理解来创建模型,而机器学习算法以某种隐蔽的不完全理解的方式描述世界, ...

  10. 模块 schedule 定时任务

    schedule模块实现定时任务 2018-08-29 15:01:51 更多 一.官方示例 import schedule import time def job(): print("I' ...