如何在Delphi 2009中创建最近使用的文件列表?
发布时间:2020-12-15 09:06:13 所属栏目:大数据 来源:网络整理
导读:我有一个TActionManager和一个TActionMainMenuBar,我知道如何将每个MRU文件的TActionClientItem添加到主菜单栏.但是,我是否必须为列表中的每个MRU文件创建单独的操作?或者有没有办法只创建一个动作,并根据单击的MRU文件以某种方式将标记或其他内容传递给操
我有一个TActionManager和一个TActionMainMenuBar,我知道如何将每个MRU文件的TActionClientItem添加到主菜单栏.但是,我是否必须为列表中的每个MRU文件创建单独的操作?或者有没有办法只创建一个动作,并根据单击的MRU文件以某种方式将标记或其他内容传递给操作的OnExecute事件?
Delphi的帮助说:“有关MRU列表,示例代码和查找列表中操作的方法的更多信息,请参阅联机帮助中的FindItemByAction和FindItemByCaption.”但我找不到那些有用的主题,当然也没有示例代码.我真的想避免使用第三方组件来完成这项工作. 解决方法
无论如何,每个菜单项都有一个单独的TAction,以便它们可以具有不同的Caption值.但是您不必拥有单独的OnExecute事件处理程序.事件处理程序将在其Sender参数中接收对该操作的引用.使用sender的Tag属性来引用保存文件名的列表. (不要使用Caption属性来发现要打开的文件;这会限制您做一些好事,比如添加加速器或缩短笨拙的路径.)
这就是文档假设您也要做的事情. FindItemByAction返回给定操作附加到的第一个项目.如果您将单个操作附加到所有MRU菜单项,则您将无法使用该功能告诉您选择了哪个菜单.另一方面,菜单项不会保存比相关动作更多的信息,所以我认为没有理由去寻找菜单项.只需直接使用操作中的信息即可. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |