4.9.3 预定义动作类
通过动作列表编辑器可使用自动执行某些通用动作的预定义动作类。
另外,组件编写者以StdActns和DBActns单元中的类为例派生出自己的动作类,用以实现某些特定的控件或组件的行为。特定动作(TEditAction、TWindowAction)的基类通常重载HandlesTarget、UpdateTarget及其他方法来将动作目标限制为特定的对象类。派生类则一般重载ExecuteTarget来执行特定的任务。
1.标准编辑动作
标准编辑动作被设计为用于编辑控件目标。TEditAction是一个基类,其派生类重载ExecuteTarget方法以实现通过使用Windows剪贴板的拷贝、删除及粘贴任务。
· TEditAction确保目标控件是TCustomEdit类(或其后裔)。
· TEditCopy将高亮显示文本复制到剪贴板。
· TEditCut从目标中剪切高亮显示文本到剪贴板。
· TEditPaste从剪贴板粘贴文本到目标,并确保剪贴板可用文本格式。
· TEditDelete删除高亮显示文本。
· TEditSelectAll全部选定目标编辑控件中的文本。
· TEditUndo撤消对目标编辑控件的上一次编辑。
2.标准Window动作
标准Window动作被设计为用于MDI应用程序中的窗体目标。TWindowAction是一个基类,其派生类重载ExecuteTarget方法来实现MDI子窗体的排列、层叠、关闭、平铺及最小化。
· TWindowAction确保目标控件是TForm类并检查窗体是否有MDI子窗体。
· TWindowArrange排列最小化MDI子窗体的图标。
· TWindowCascade层叠MDI子窗体。
· TWindowClose关闭当前活跃的MDI子窗体。
· TWindowMinimizeAll将所有MDI子窗体最小化。
· TWindowTileHorizontal将MDI子窗体以相同大小水平平铺。
· TWindowTileVertical将MDI子窗体以相同大小垂直平铺。
3.标准帮助动作
标准帮助动作被设计为可用于任何目标。THelpAction是一个基类,其派生类重载ExecuteTarget方法来将命令传递到WinHelp。
· THelpAction确保全局Application变量可用,以便可用其HelpCommand方法处理命令。
· THelpContents引出帮助主题对话框,显示上一次使用的页面(内容、索引或搜索)。
· THelpTopicSearch帮助主题对话框,显示索引页面。
· THelpOnHelp引出关于如何使用帮助的微软帮助文件。注重在新近版本的Windows中本文件是Html帮助文件,且不描述WinHelp系统。
4.数据集(DataSet)动作
标准数据集动作被设计为用于数据集组件目标。 TDataSetAction是一个基类,其派生类重载ExecuteTarget及UpdateTarget方法来实现导航和编辑目标。
· TDataSetAction提供DataSource属性用以确保动作执行于数据集组件目标。若DataSource为null,则使用当前具有焦点的数据感知控件。参见图4-12可获得更多细节。
·TDataSetAction确保目标是TDataSource类并且它有一个关联的数据集。
· TDataSetCancel取消对当前记录的编辑,将该记录显示恢复为编辑之前的状态,并且若当前是Insert或Edit状态则关闭它们。
· TDataSetDelete删除当前记录并将下一记录作为当前记录。
· TDataSetEdit将数据集设为Edit状态以便可修改当前记录。
· TDataSetFirst将当前记录作为数据集的首记录。
· TDataSetInsert在当前记录前插入新记录并将数据集设为当前是Insert和Edit状态。
· TDataSetLast将当前记录作为数据集的末记录。
· TDataSetNext将当前记录作为下一记录。
· TDataSetPost将对当前记录的改变写入数据集。
· TDataSetPrior将当前记录作为上一记录。
· TDataSetRefresh更新数据集关联的缓冲区中的数据。