关于delphi中的Ribbon控件
您好,我如何保存功能区的当前状态,以便下次使用 Delphi 打开 exe 时可以加载具有相同状态的功能区?
Hi How can i save the current state of Ribbon So that i can load ribbon with the same state while opening the exe next time using Delphi?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 Windows 注册表在应用程序关闭时保存功能区的状态,然后在打开应用程序时恢复。
这是与注册表一起使用的代码:
使用列表中的状态注册表。
示例:
如果要保存每个 Windows 用户的状态,请使用 HKEY_CURREN_USER 而不是 HKEY_LOCAL_MACHINE。
如果您的应用程序有其他用户管理方式(数据库),请将功能区的状态保存在数据库中。
You could use Windows Registry to save state of Ribbon when application closes, and then restore when opening Application.
This is code for work with Registries:
State Registry in uses list.
Sample:
If you want to save state for each individual user of Windows use HKEY_CURREN_USER instead of HKEY_LOCAL_MACHINE.
If your application have other way of user management (Database), save state of Ribbon in database.
我从未使用过 Delphi 中的标准功能区..但在我对 @Ljubomir 答案发表评论后,我决定进行一些调查以帮助您。
从源代码中,查看自定义对话框的工作方式,我发现 Ribbon 与 TActionManager 绑定在一起,而我之前也从未使用过它。再次,查看 TCustomActionManager 的源代码,我注意到 SaveToFile/SaveToStream LoadFromFile/LoadFromStream 方法,我认为这是保存/加载功能区(操作管理器)状态信息的方法。
另一方面,TActionManager 有一个 FileName 属性。如果您设置它,它会在适当的时间自动加载并保存 ActionManager 状态。
希望这能给你带来光明。
I never used the standard Ribbon in Delphi.. but after my comment to @Ljubomir answer, I decided to investigate a bit to help you.
From source code, looking at the way the customize dialog works I discovered Ribbon is tied to TActionManager, which also I never used beforehand. Again, Looking at the source of TCustomActionManager, I noticed the SaveToFile/SaveToStream LoadFromFile/LoadFromStream methods I suppose is the way to save/load the ribbon (action manager) state information.
ON the other hand, the TActionManager have a FileName property. If you set it, it automatically loads and saves the ActionManager state at proper times.
Hope this brings light to you.