请大家教教我,TActionList怎么使用?我太笨了,看了很多例子,还是不明白,55555(200分)

  • 主题发起人 主题发起人 sw
  • 开始时间 开始时间
S

sw

Unregistered / Unconfirmed
GUEST, unregistred user!
我是这样做的:
新建一工程文件,在Form1上分别放上一个Button,一个Edit,一个ActionList,我是想实现如果Edit中
的文字被选中,Button就变成可用状态,反之,就变成灰色。
双击ActionList1,增加一个TAction类型的Action1,在它的OnExecute事件中随便写了一句代码,
void __fastcall TForm1::Action1Execute(TObject *Sender)
{
ShowMessage("adsfasd");
}
然后,将Button1的Action属性指向Action1,我知道现在如果设置Action1的Enabled为false,则Button1
就变成灰色的了,可是这样一来,还用Action1中转干什么?直接设置Button1不就行了吗!虽然说可以将
很多个按钮或菜单指向Action1,这样改变Action1,它们就都改变了,但是我看到很多程序例子中的
ActionList没有写一句代码就完成功能了,而且用的也不是Delphi系统提供的那些什么TEditCopy类型的,
就是自定义的TAction类型的,请大家说得详细一些,谢谢!
 
其实使用ActionList就是为了在更好的控制代码的,当几个控件都共用一段代码时
十分的方便.
你说很多例子不写代码完成功能,肯定不会的.
 
>>你说很多例子不写代码完成功能,肯定不会的.
555555555,会,会!!
不信你看看Delphi自带的例子Richedit,就没写一句代码,帮帮忙啊!
 
哪里没写代码呀,我用的D5写了代码的.
我现在要去上班了,中午再看.
 
用actionlist标准的action才不用写代码吧,
 
双击ActionList,弹出编辑框,在编辑框上单击右键,选择New Standard action...
可在弹出的Standard action里选择常用的如editCopy、EditCut之类的Action,
就不用写代码了,但Standard action的数量和功能是有限的。
 
同意楼上的,其实如果不怕麻烦也可以不用这个咚咚,我就很少用[8D]
 
9494,里面有标准的文件打开,保存,剪切,粘贴,复制这些ACTION,用这些标准的就不用
写代码了,其它的我没有用,觉得这东西不用也罢。
 
一般情况下可以不用Action,但在多个命令入口的地方,使用它还是比较方便。
另外,在有一种情况下,使用它是非常方便的。就是当Form不方便使用
OnKeyDown或OnkeyPress而将Keypriview更改为false,此时Form无法接收键盘组合键,
使用Action的HotKey可以简化代码同时实现功能,最近做的一个财务系统中需要定义
若干个快捷键,如上一张凭证(PageUp),一张凭证(PageDown),
上一笔业务(Up),下一笔业务(Down),由于其中控件
的问题,不能使用OnKeyPress,就只能使用Action了。
 
比如你要是实现 复制、粘贴、剪切 这些系统功能,你当然可以自己写代码,但你不觉得
这样太麻烦了么?你只要加入TActionList组件,双击,选择工具栏第一个图标的下拉三角,
选第二个,New Standard Action...,选择 TEditCopy,TEditCut,TEditDelete,OK;
你在加入一个菜单,加入三项:复制、粘贴、剪切,使其对应的Action 属性 EditCopy1,
EditCut1,EditDelet1,就OK了。
 
我倒~~~
菜单
File->New->Projects->MDIApplication
看见了么?标准动做都给你弄好了。看看就会用了。
ActionList,很好用。价格便宜量又足,
我一直用它。
 
全部的事件都在ActionList写好就可以了,改也方便
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部