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更新數據集關聯的緩沖區中的數據。