处理控件中的文本
下列各节介绍了如何使用richedit控件和memo(备注)控件的各种特性。有些特性在edit控件中也可使用。
· 设置文本对齐方式。
· 在运行时增加滚动条。
· 增加剪贴板对象。
· 选择文本。
· 选定全部文本。
· 剪切、拷贝及粘贴文本。
· 删除选定文本。
· 禁用菜单项。
· 提供弹出式菜单。
· 处理OnPopup事件。
1 设置文本对齐方式
在richedit组件或memo组件中,文本可以是左对齐、右对齐或居中。要改变文本对齐方式,可设置组件的Alignment属性。调整只当WordWrap属性为true时才生效,若自动换行被关闭,也就不存在可供对齐的边缘。
例如,下列代码是RichEdit根据其中的按钮被选择的状态设置它的文本对齐方式:

2 在运行时增加滚动条
richedit组件或memo组件可根据需要包含水平或垂直滚动条,或者两者都有。当自动换行启用时,组件只需要垂直滚动条。若用户关闭自动换行,组件可能同时还需要水平滚动条,因为文本在编辑器右边不受限制。
要在运行时增加滚动条:
1) 确定是否文本可以超过右边界。在大多数情况下,这也就意味着检查自动换行是否启用。还可同时检查是否实际上已有文本行超过了控件宽度。
2) 设置richedit组件或memo组件的ScrollBars属性来增加或删除滚动条。
下例为Character|WordWrap菜单项的OnClick事件处理程序。

richedit组件和memo组件处理滚动条的方法有少许差异。richedit组件在文本都在边界内时隐藏其滚动条。而memo组件则在滚动条启用后一直显示它们。
3 增加剪贴板对象
大多数的文本处理应用程序会给用户提供在文档之间移动选定文本的方法,包括文档在不同的应用程序中。C++(www.cppentry.com)Builder的Clipboard对象封装了Windows剪贴板及剪切、拷贝和粘贴文本(及其他格式,包括图形)等方法。Clipboard对象在Clipbrd单元中声明。
要在应用程序中增加剪贴板对象:
1) 选择需使用剪贴板的单元。
2) 在窗体的.H文件,加入,
#include <vcl\Clipbrd.hpp>
4 选择文本
在将任何文本发送给剪贴板之前,文本必须先被选定。高亮显示选定文本是编辑组件内嵌的特性。当用户选定文本时,会高亮显示。表5-1是一些处理选定文本的通用属性。

5 选定全部文本
SelectAll方法选择richedit组件或memo组件中所有的内容。这在组件内容超出组件可见区域时特别有用。在其他的大多数情况下,用户使用键盘或鼠标选择文本。要全部选定richedit组件或memo组件中所有的内容为,可调用组件的SelectAll方法。
例如:

6 剪切、拷贝及粘贴文本
应用程序使用剪贴板单元能剪切、拷贝及粘贴文本、图形和对象(通过Windows剪贴板)。编辑组件封装了标准Windows文本处理控件,它们中内嵌了与剪贴板交互的所有方法(参见6.可获得更多的关于在剪贴板中使用图形的信息)。要使用剪贴板剪切,拷贝及粘贴文本,可分别调用编辑组件的CutToClipboard、CopyToClipboard及PasteFromClipboard方法。