5.3处理控件中的文本
下列各节介绍了如何使用richedit控件和memo(备注)控件的各种特性。有些特性在edit控件中也可使用。
·设置文本对齐方式。
·在运行时增加滚动条。
·增加剪贴板对象。
·选择文本。
·选定全部文本。
·剪切、拷贝及粘贴文本。
·删除选定文本。
·禁用菜单项。
·提供弹出式菜单。
·处理OnPopup事件。
5.3.1设置文本对齐方式
在richedit组件或memo组件中,文本可以是左对齐、右对齐或居中。要改变文本对齐方式,可设置组件的Alignment属性。调整只当WordWrap属性为true时才生效,若自动换行被关闭,也就不存在可供对齐的边缘。
例如,下列代码是RichEdit根据其中的按钮被选择的状态设置它的文本对齐方式:
5.3.2在运行时增加滚动条
richedit组件或memo组件可根据需要包含水平或垂直滚动条,或者两者都有。当自动换行启用时,组件只需要垂直滚动条。若用户关闭自动换行,组件可能同时还需要水平滚动条,因为文本在编辑器右边不受限制。 财管家园.fs119.net
要在运行时增加滚动条:
1)确定是否文本可以超过右边界。在大多数情况下,这也就意味着检查自动换行是否启用。还可同时检查是否实际上已有文本行超过了控件宽度。
2)设置richedit组件或memo组件的ScrollBars属性来增加或删除滚动条。
下例为Character|WordWrap菜单项的OnClick事件处理程序。
richedit组件和memo组件处理滚动条的方法有少许差异。richedit组件在文本都在边界内时隐藏其滚动条。而memo组件则在滚动条启用后一直显示它们。
5.3.3增加剪贴板对象
大多数的文本处理应用程序会给用户提供在文档之间移动选定文本的方法,包括文档在不同的应用程序中。CBuilder的Clipboard对象封装了Windows剪贴板及剪切、拷贝和粘贴文本(及其他格式,包括图形)等方法。Clipboard对象在Clipbrd单元中声明。
要在应用程序中增加剪贴板对象:
1)选择需使用剪贴板的单元。
2)在窗体的.H文件,加入,
#include<vcl\Clipbrd.hpp>
5.3.4选择文本
在将任何文本发送给剪贴板之前,文本必须先被选定。高亮显示选定文本是编辑组件内嵌的特性。当用户选定文本时,会高亮显示。表5-1是一些处理选定文本的通用属性。
5.3.5选定全部文本
SelectAll方法选择richedit组件或memo组件中所有的内容。这在组件内容超出组件可见区域时特别有用。在其他的大多数情况下,用户使用键盘或鼠标选择文本。要全部选定richedit组件或memo组件中所有的内容为,可调用组件的SelectAll方法。
例如:
5.3.6剪切、拷贝及粘贴文本
应用程序使用剪贴板单元能剪切、拷贝及粘贴文本、图形和对象(通过Windows剪贴板)。编辑组件封装了标准Windows文本处理控件,它们中内嵌了与剪贴板交互的所有方法(参见6.可获得更多的关于在剪贴板中使用图形的信息)。要使用剪贴板剪切,拷贝及粘贴文本,可分别调用编辑组件的CutToClipboard、CopyToClipboard及PasteFromClipboard方法。
例如,下列代码分别是Edit|Cut、Edit|Copy和Edit|Paste的OnClick事件处理程序:
5.3.7删除选定文本
可在编辑组件中删除选定文本,而不是剪切到剪贴板。要删除选定文本,可调用ClearSelection方法。下例为Edit菜单中的Delete菜单项的OnClick事件处理程序:
5.3.8禁用菜单项
不从菜单删除菜单命令而禁用它们常常是很有用的。例如,在一个文本编辑器里,若当前没有文本被选定,则Cut、Copy和Paste命令都是不适用的。用户选择菜单的同时也是启用或禁用菜单项的合适时机。要禁用菜单项,可将其Enabled属性设为false。
下例是子窗体菜单栏的Edit菜单项的OnClick事件处理程序。它根据RichEdit1中是否存在选定文本而设置了Edit菜单项中Cut、Copy和Delete命令的Enabled属性。Paste命令的启用或禁用则根据剪贴板中是否存在文本。 财.软联盟.fs119.net
剪贴板的HasFormat方法根据剪贴板是否包含对象、文本或特定格式的图像返回一布尔值。通过使用参数CF_TEXT调用HasFormat,可确定剪贴板中是否存在文本,并在适当的时机启用或禁用Paste项。
5.3.9提供弹出式菜单
弹出式,或本地的菜单是通用的使应用程序易于使用的特性。它们可使用户无须移动鼠标,只需在应用程序工作区中单击鼠标右键就可访问到一个常用命令列表。
例如,在文本编辑器应用程序中,可加入一个弹出式菜单用以重复Cut、Copy和Paste编辑命令。这些弹出式菜单项可使用Edit菜单中相应项的事件处理程序。同时,也不需要为弹出式菜单项创建加速键或快捷键,因为其相应的常规菜单项通常已有快捷方式。
窗体的PopupMenu属性指定当用户右击窗体中任意项时显示的弹出式菜单。每个控件都有其本身的PopupMenu属性,并可覆盖窗体的PopupMenu属性,这样就可为特定的控件定制弹出式菜单。要在窗体中加入弹出式菜单: 财管家.园.fs119.net
1)将一个弹出式菜单组件加入窗体。
2)使用菜单设计器来定义弹出式菜单的项。
3)将窗体或显示该菜单的控件的PopupMenu属性设为弹出式菜单组件名。
4)为弹出式的OnClick事件分配处理程序。
5.3.10处理OnPopup事件
在显示弹出式菜单之前可能会想要调整其菜单项,就如在常规菜单中启用或禁用菜单项一样。在常规菜单中,可在菜单中处理菜单项的OnClick事件。而在弹出式菜单中,没有最上层的菜单栏,因此为准备弹出式菜单的命令,需处理菜单组件本身的事件。弹出式菜单组件提供了OnPopup事件来完成此类任务。
要在弹出式菜单显示之前调整菜单项:
1)选择弹出式菜单组件。
2)为其OnPopup事件分配处理程序。
3)在事件处理程序中编写代码处理启用、禁用、隐藏或显示菜单项。
在下列代码中,在5.3.8节中介绍过的EditEditClick事件处理程序被分配给弹出式菜单组件的OnPopup事件。只在其中为弹出式菜单的各个项加入了一行代码。 财管家园 fs119.net
下列各节介绍了如何使用richedit控件和memo(备注)控件的各种特性。有些特性在edit控件中也可使用。
·设置文本对齐方式。
·在运行时增加滚动条。
·增加剪贴板对象。
·选择文本。
·选定全部文本。
·剪切、拷贝及粘贴文本。
·删除选定文本。
·禁用菜单项。
·提供弹出式菜单。
·处理OnPopup事件。
5.3.1设置文本对齐方式
在richedit组件或memo组件中,文本可以是左对齐、右对齐或居中。要改变文本对齐方式,可设置组件的Alignment属性。调整只当WordWrap属性为true时才生效,若自动换行被关闭,也就不存在可供对齐的边缘。
例如,下列代码是RichEdit根据其中的按钮被选择的状态设置它的文本对齐方式:
5.3.2在运行时增加滚动条
richedit组件或memo组件可根据需要包含水平或垂直滚动条,或者两者都有。当自动换行启用时,组件只需要垂直滚动条。若用户关闭自动换行,组件可能同时还需要水平滚动条,因为文本在编辑器右边不受限制。 财管家园.fs119.net
要在运行时增加滚动条:
1)确定是否文本可以超过右边界。在大多数情况下,这也就意味着检查自动换行是否启用。还可同时检查是否实际上已有文本行超过了控件宽度。
2)设置richedit组件或memo组件的ScrollBars属性来增加或删除滚动条。
下例为Character|WordWrap菜单项的OnClick事件处理程序。
richedit组件和memo组件处理滚动条的方法有少许差异。richedit组件在文本都在边界内时隐藏其滚动条。而memo组件则在滚动条启用后一直显示它们。
5.3.3增加剪贴板对象
大多数的文本处理应用程序会给用户提供在文档之间移动选定文本的方法,包括文档在不同的应用程序中。CBuilder的Clipboard对象封装了Windows剪贴板及剪切、拷贝和粘贴文本(及其他格式,包括图形)等方法。Clipboard对象在Clipbrd单元中声明。
财.软联盟.fs119.net
要在应用程序中增加剪贴板对象:
1)选择需使用剪贴板的单元。
2)在窗体的.H文件,加入,
#include<vcl\Clipbrd.hpp>
5.3.4选择文本
在将任何文本发送给剪贴板之前,文本必须先被选定。高亮显示选定文本是编辑组件内嵌的特性。当用户选定文本时,会高亮显示。表5-1是一些处理选定文本的通用属性。
5.3.5选定全部文本
SelectAll方法选择richedit组件或memo组件中所有的内容。这在组件内容超出组件可见区域时特别有用。在其他的大多数情况下,用户使用键盘或鼠标选择文本。要全部选定richedit组件或memo组件中所有的内容为,可调用组件的SelectAll方法。
例如:
5.3.6剪切、拷贝及粘贴文本
应用程序使用剪贴板单元能剪切、拷贝及粘贴文本、图形和对象(通过Windows剪贴板)。编辑组件封装了标准Windows文本处理控件,它们中内嵌了与剪贴板交互的所有方法(参见6.可获得更多的关于在剪贴板中使用图形的信息)。要使用剪贴板剪切,拷贝及粘贴文本,可分别调用编辑组件的CutToClipboard、CopyToClipboard及PasteFromClipboard方法。
财软 联盟 fs119.net
例如,下列代码分别是Edit|Cut、Edit|Copy和Edit|Paste的OnClick事件处理程序:
5.3.7删除选定文本
可在编辑组件中删除选定文本,而不是剪切到剪贴板。要删除选定文本,可调用ClearSelection方法。下例为Edit菜单中的Delete菜单项的OnClick事件处理程序:
5.3.8禁用菜单项
不从菜单删除菜单命令而禁用它们常常是很有用的。例如,在一个文本编辑器里,若当前没有文本被选定,则Cut、Copy和Paste命令都是不适用的。用户选择菜单的同时也是启用或禁用菜单项的合适时机。要禁用菜单项,可将其Enabled属性设为false。
下例是子窗体菜单栏的Edit菜单项的OnClick事件处理程序。它根据RichEdit1中是否存在选定文本而设置了Edit菜单项中Cut、Copy和Delete命令的Enabled属性。Paste命令的启用或禁用则根据剪贴板中是否存在文本。 财.软联盟.fs119.net
剪贴板的HasFormat方法根据剪贴板是否包含对象、文本或特定格式的图像返回一布尔值。通过使用参数CF_TEXT调用HasFormat,可确定剪贴板中是否存在文本,并在适当的时机启用或禁用Paste项。
5.3.9提供弹出式菜单
弹出式,或本地的菜单是通用的使应用程序易于使用的特性。它们可使用户无须移动鼠标,只需在应用程序工作区中单击鼠标右键就可访问到一个常用命令列表。
例如,在文本编辑器应用程序中,可加入一个弹出式菜单用以重复Cut、Copy和Paste编辑命令。这些弹出式菜单项可使用Edit菜单中相应项的事件处理程序。同时,也不需要为弹出式菜单项创建加速键或快捷键,因为其相应的常规菜单项通常已有快捷方式。
窗体的PopupMenu属性指定当用户右击窗体中任意项时显示的弹出式菜单。每个控件都有其本身的PopupMenu属性,并可覆盖窗体的PopupMenu属性,这样就可为特定的控件定制弹出式菜单。要在窗体中加入弹出式菜单: 财管家.园.fs119.net
1)将一个弹出式菜单组件加入窗体。
2)使用菜单设计器来定义弹出式菜单的项。
3)将窗体或显示该菜单的控件的PopupMenu属性设为弹出式菜单组件名。
4)为弹出式的OnClick事件分配处理程序。
5.3.10处理OnPopup事件
在显示弹出式菜单之前可能会想要调整其菜单项,就如在常规菜单中启用或禁用菜单项一样。在常规菜单中,可在菜单中处理菜单项的OnClick事件。而在弹出式菜单中,没有最上层的菜单栏,因此为准备弹出式菜单的命令,需处理菜单组件本身的事件。弹出式菜单组件提供了OnPopup事件来完成此类任务。
要在弹出式菜单显示之前调整菜单项:
1)选择弹出式菜单组件。
2)为其OnPopup事件分配处理程序。
3)在事件处理程序中编写代码处理启用、禁用、隐藏或显示菜单项。
在下列代码中,在5.3.8节中介绍过的EditEditClick事件处理程序被分配给弹出式菜单组件的OnPopup事件。只在其中为弹出式菜单的各个项加入了一行代码。 财管家园 fs119.net
财管家园,fs119.net
相关文章
将菜单保存为菜单模板 CBuilder合并菜单 CBuilder设计工具栏和酷栏 CBuilder设计工具栏和酷栏二 CBuilder动作对象 CBuilder使用动作 CBuilder预定义动作类 CBuilder编写动作组件 CBuilder实现控件拖放操作 CBuilder实现控件的拖动-停靠操 CBuilder处理控件中的文本 CBuilder在控件中加入图形 CBuilder刷新屏幕 CBuilder画布的通用属性和方法 CBuilder使用Canvas对象的属性 CBuilder使用Canvas的方法来绘制 CBuilder在应用程序中处理多个绘 CBuilder在图形中绘制 加载和保存图形文件 使用剪贴板处理图形 C拖引线示例 将无声的视频剪辑加入应用程序 将声音和/或视频剪辑加入应用程 CBuilder定义线程对象
Google.cn搜索关键字:
文本 控件 处理 菜单 组件 事件 选定 使用 属性 滚动
Google.cn搜索相关文章:
谷歌中搜索全球网 CBuilder处理控件中的文本
百度中搜索 CBuilder处理控件中的文本
谷歌中搜索www.fs119.net CBuilder处理控件中的文本
上一篇:CBuilder在控件中加入图形
Google.cn搜索相关文章:
谷歌中搜索全球网 CBuilder处理控件中的文本
百度中搜索 CBuilder处理控件中的文本
谷歌中搜索www.fs119.net CBuilder处理控件中的文本
下一篇:CBuilder实现控件的拖动-停靠操作
精品课程推荐
热点专题
最新主题
推荐大折扣培训课程