請教TACTION的用法,100分(100分)

  • 主题发起人 主题发起人 徐杰
  • 开始时间 开始时间

徐杰

Unregistered / Unconfirmed
GUEST, unregistred user!
能詳細說一下TACTION的使用方法及在何時要用嗎.
最好能推荐几篇中文技朮文章!
 
Taction和TActionlist 可以用于菜单和工具条的管理中,方便进行统一管理,
只需对action处理,菜单和工具条中的响应选项也会同时变化。
 
看书吧Delphi5编程指南(电子书),很多地方都有下载的第14章-行 为 列 表就是非常详细。
 
各位大俠能說詳細點嗎,我還是不懂啊
 
这是我以前写的笔记。
一、行为列表(TActionList)
行为列表是维护和管理其它行为对象的控件,主要用于程序设计时期集中处理行为的用户接口。行为列表控件位于Standard页的最右边,该控件可以放置在窗体,也可以放置在数据模块上。双击该控件,即出现行为列表编辑器,从而在设计阶段增加、删除、并重新排列各行为对象。
行为列表控件的层次结构为:TObject-TPersistent-TComponent-TCustomActionList。
通常不需要直接调用行为列表控件的方法,也不需要编写响应行为列表控件事件的代码,因此下面只介绍常用的特性。
⒈ActionCount特性
声明:property ActionCount: Integer;
说明:行为列表中包含的行为对象的个数。
⒉Actions特性
声明:property Actions[Index: Integer]: TContainedAction;
说明:行为列表中的行为对象列表。
⒊Images特性
声明:property Images: TCustomImageList;
说明:行为列表中可用的图象列表,这些图象可用在行为对象。
二、行为对象(TAction)
为了用户使用方便Windows应用程序往往为执行用户命令的某一事件代码,提供很多的触发方式,即菜单项、工具栏、按钮等等。这些执行同一个事件代码的菜单项、工具栏、按钮的表现形式虽然不同,但是还具有许多相同或相似的属性,如标题、帮助上下文、提示信息、使能状态等。Delphi通过行为对象描述执行用户命令的事件和用户界面的常用的共同属性。
行为对象的层次结构为:TObject-TPersistent-TComponent-TBasicAction-TContainedAction-TCustomAction。
行为对象的特性、方法和事件都是从上一类中继承的没有定义新的特性、方法和事件。 下面介绍常用的特性和事件。
⒈Caption特性
声明:property Caption: string;
说明:行为对象的标题字符串。
⒉Checked特性
声明:property Checked: Boolean;
说明:行为对象的复选状态。
⒊Category特性
声明:property Category: string;
说明:行为对象在行为列表中的组别。该属性作为行为列表编辑器上一列的标题显示,在设计阶段能够修改或者设置该属性。
⒋DisableIfNoHandler特性
声明:property DisableIfNoHandler: Boolean;
说明:表示没有找到该行为对象的处理程序(没有OnExecute事件的响应程序)时,是否将关联控件的Enabled属性设置为False。该特性的默认值是True,即没有找到该行为对象的处理程序时,将关联控件的Enabled属性设置为False。
⒌Enabled特性
声明:property Enabled: Boolean;
说明:行为对象的可用状态。
⒍HelpContext特性
声明:property HelpContext: THelpContext;
说明:行为对象的帮助上下文。
⒎Hint特性
声明:property Hint: string;
说明:行为对象的提示信息。
⒏ImageIndex特性
声明:property ImageIndex: TImageIndex;
说明:行为列表的图象(Images)特性中对应该行为对象的图象索引号。
⒐Name特性
声明:property Name: TComponentName;
说明:行为对象的名称。
⒑ShortCut特性
声明:property ShortCut: TShortCut;
说明:行为对象的快捷键。
⒒Visible特性
声明:property Visible: Boolean;
说明:表示该行为对象是否可见。
⒓Index特性
声明:property Index: Integer;
说明:行为对象在行为列表中的索引号。
⒔OnExecute事件
声明:type TNotifyEvent = procedure (Sender: TObject) of object;
property OnExecute: TNotifyEvent;
说明:与行为对象关联控件的OnClick事件被触发时被触发。
⒕OnHint事件
声明:THintEvent = procedure (var HintStr: string; var CanShow: Boolean) of object;
property OnHint: THintEvent;
说明:鼠标在与行为对象关联控件上停顿时触发。
⒖OnUpdate事件
声明:type TNotifyEvent = procedure (Sender: TObject) of object;
property OnUpdate: TNotifyEvent;
说明:应用程序空闲时触发,主要用于设置行为对象的使能状态。
行为对象的大部分特性都对应与其相关联的控件的特性,当一个控件与某一个行为对象关联时,该控件的相关特性都设置成行为对象相同的特性。另外改变行为对象的某一特性将改变所有连接这个行为对象的控件的特性。有些情况下行为对象的特性与相关联控件的特性不同,Delphi会自动根据特性的含义而自动赋值。例如,行为对象的Checked可以对应TToolButton控件的Down特性。
三、应用实例
下面将编写一个使用行为列表的简单程序,该程序通过菜单、工具和按钮移动一个TMemo编辑器上的光标,并根据光标的位置不断变化菜单、工具和按钮的使能状态。
下面简述该程序的设计过程。
⒈创建一个新的工程,分别将TToolBar、TMainMenu、TActionList、TListBox、TImageList控件和四个Tbutton控件放置到窗体(见右图)。
⒉使用鼠标右键单击TToolBar控件增加四个TToolButton对象,双击TImageList控件,增加四个小图象,双击TmainMenu控件增加四个菜单项。
⒊双击TListBox控件的Items特性输入几行文字。
⒋将TlistBox、TMainMenu、TactionList控件的Images特性设为ImageList1,双击TactionList控件打开行为对象编辑器,创建四个Taction,并设置Caption和ImageIndex特性。
Caption ImageIndex
Action1 第一行 0
Action2 上一行 1
Action3 下一行 2
Action4 最后一行 3
⒌编写响应四个行为对象的OnExecute的代码,移动光标。
⒍编写响应Action1的OnUpdate的代码,设置行为对象的Enabled属性。
⒎将菜单项、工具和按钮的Action属性设为具体的行为对象名。
⒏运行程序(见右图)。
四、结论
通过应用实例我们可以看到,使用行为列表控件是如何提高程序设计效率的。如果没有行为列表控件,软件开发人员必须跟踪每一个命令与应用对象间的连接,改变一个简单的用户命令行为需要从所有应用中查找出与建立这个命令相关的用户界面控件(菜单、工具、按钮)。而行为列表控件可以管理这些复杂的关系,让软件开发人员将注意力集中在业务逻辑的开发上,提高程序设计效率。


 
panyongze大俠:

你的筆記真是一流,比出版的書還利害!
能否把你的學習筆記給我一個COPY!
我知道大俠你是不在乎小弟這兩個錢的,但是我愿意為大俠奉上50%的家產!

my email add: rogue@tashinlife.cc


先謝了!
 
“panyongze大俠:

你的筆記真是一流,比出版的書還利害!”

我美,我飘,扑通摔了下来,好疼。

其实我挺在乎你的兩個錢的,不过确实没看上你的50%的家產!

你要是满意先把分给我再说吧。
 
請到此拿分吧
http://www.delphibbs.com/delphibbs/dispq.asp?lid=574668

備注:不會只有一章吧

(其實你要是查一下我的貼子,就知道了,我的分掙得十分不易啊!)
 
后退
顶部