设为首页 加入收藏

TOP

C++ Builder 处理控件中的文本(二)
2013-04-10 11:55:23 来源: 作者: 【 】 浏览:537
Tags:  Builder  处理 控件 文本


例如,下列代码分别是Edit|Cut、Edit|Copy和Edit|Paste的OnClick事件处理程序:

 

7 删除选定文本
可在编辑组件中删除选定文本,而不是剪切到剪贴板。要删除选定文本,可调用ClearSelection方法。下例为Edit菜单中的Delete菜单项的OnClick事件处理程序:

 

8 禁用菜单项
不从菜单删除菜单命令而禁用它们常常是很有用的。例如,在一个文本编辑器里,若当前没有文本被选定,则Cut、Copy和Paste命令都是不适用的。用户选择菜单的同时也是启用或禁用菜单项的合适时机。要禁用菜单项,可将其Enabled属性设为false。
下例是子窗体菜单栏的Edit菜单项的OnClick事件处理程序。它根据RichEdit1中是否存在选定文本而设置了Edit菜单项中Cut、Copy和Delete命令的Enabled属性。Paste命令的启用或禁用则根据剪贴板中是否存在文本。

 

剪贴板的HasFormat方法根据剪贴板是否包含对象、文本或特定格式的图像返回一布尔值。通过使用参数CF_TEXT调用HasFormat,可确定剪贴板中是否存在文本,并在适当的时机启用或禁用Paste项。

9 提供弹出式菜单
弹出式,或本地的菜单是通用的使应用程序易于使用的特性。它们可使用户无须移动鼠标,只需在应用程序工作区中单击鼠标右键就可访问到一个常用命令列表。

例如,在文本编辑器应用程序中,可加入一个弹出式菜单用以重复Cut、Copy和Paste编辑命令。这些弹出式菜单项可使用Edit菜单中相应项的事件处理程序。同时,也不需要为弹出式菜单项创建加速键或快捷键,因为其相应的常规菜单项通常已有快捷方式。

窗体的PopupMenu属性指定当用户右击窗体中任意项时显示的弹出式菜单。每个控件都有其本身的PopupMenu属性,并可覆盖窗体的PopupMenu属性,这样就可为特定的控件定制弹出式菜单。要在窗体中加入弹出式菜单:
1) 将一个弹出式菜单组件加入窗体。
2) 使用菜单设计器来定义弹出式菜单的项。
3) 将窗体或显示该菜单的控件的PopupMenu属性设为弹出式菜单组件名。
4) 为弹出式的OnClick事件分配处理程序。

10 处理OnPopup事件
在显示弹出式菜单之前可能会想要调整其菜单项,就如在常规菜单中启用或禁用菜单项一样。在常规菜单中,可在菜单中处理菜单项的OnClick事件。而在弹出式菜单中,没有最上层的菜单栏,因此为准备弹出式菜单的命令,需处理菜单组件本身的事件。弹出式菜单组件提供了OnPopup事件来完成此类任务。

要在弹出式菜单显示之前调整菜单项:
1) 选择弹出式菜单组件。
2) 为其OnPopup事件分配处理程序。
3) 在事件处理程序中编写代码处理启用、禁用、隐藏或显示菜单项。

在下列代码中,在5.3.8节中介绍过的EditEditClick事件处理程序被分配给弹出式菜单组件的OnPopup事件。只在其中为弹出式菜单的各个项加入了一行代码。

      

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇设置静态文本框字体及颜色 下一篇定义另一个类的成员函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: