Delphi 如何将MRF列表添加到TRibbons下拉按钮集合中?
我可以轻松地将MRF列表添加到TRibbon最近的项目列表中,但如何添加 是否将同一列表添加到设置为下拉按钮的功能区项?下拉列表 项为ActionBars[2]。项为[1]Delphi 如何将MRF列表添加到TRibbons下拉按钮集合中?,delphi,Delphi,我可以轻松地将MRF列表添加到TRibbon最近的项目列表中,但如何添加 是否将同一列表添加到设置为下拉按钮的功能区项?下拉列表 项为ActionBars[2]。项为[1] var ARecentFilesList: TStringList; ACI: TActionClientItem; if FileExists( ARecentFilesFilename ) then begin ARecentFilesList.LoadFromFile( ARecentFilesFilename )
var
ARecentFilesList: TStringList;
ACI: TActionClientItem;
if FileExists( ARecentFilesFilename ) then
begin
ARecentFilesList.LoadFromFile( ARecentFilesFilename );
for i := 0 to ARecentFilesList.Count - 1 do
begin
// add filename to Ribbon Recent Items
Ribbon1.AddRecentItem( ARecentFilesList.Strings[ i ] );
//add the file name to dropdown button collection
//add MostRecentFiles to ActionBars[2].Items[1]
//ACI := TActionClientItem.Create( );
//ACI.Caption := ARecentFilesList.Strings[ i ];
end;
end;
谢谢
比尔与许多actionbar控件一样,它不像您希望的那样直观。功能区上的基本结构如下所示:
- 每个功能区都有选项卡
- 每个选项卡都有组
- 每组都有一系列的控制
- 每个控件都有一个与之关联的TActionClient
- 每个TActionClient都可以有其他与之关联的TActionClient对象,如ContextItems或Items。重复这个级别的次数越多,嵌套菜单就越深
var
ActionClient: TActionClient;
ChildItem: TActionClientItem;
begin
// Does the same as Ribbon1.AddRecentItem('C:\MyFile.txt');
ActionClient := RibbonGroup1.ActionControls[0].ActionClient;
ChildItem := ActionClient.Items.Add;
ChildItem.Action := ActionThanOpensAFile;
ChildItem.Caption := 'C:\MyFile.txt';
end;
请注意,我在分配操作后分配了菜单项的标题-这是因为该操作会替换与其关联的客户端的标题(以及其他属性)。与许多actionbar控件一样,它不像您希望的那样直观。功能区上的基本结构如下所示:
- 每个功能区都有选项卡
- 每个选项卡都有组
- 每组都有一系列的控制
- 每个控件都有一个与之关联的TActionClient
- 每个TActionClient都可以有其他与之关联的TActionClient对象,如ContextItems或Items。重复这个级别的次数越多,嵌套菜单就越深
var
ActionClient: TActionClient;
ChildItem: TActionClientItem;
begin
// Does the same as Ribbon1.AddRecentItem('C:\MyFile.txt');
ActionClient := RibbonGroup1.ActionControls[0].ActionClient;
ChildItem := ActionClient.Items.Add;
ChildItem.Action := ActionThanOpensAFile;
ChildItem.Caption := 'C:\MyFile.txt';
end;
请注意,我在分配操作后分配了菜单项的标题-这是因为该操作将替换与其关联的客户端的标题(以及其他属性)。非常感谢。。。我设法从打开的文件中将一个文件名添加到控件(在我的例子中是第一个组的第二个控件)。现在,要了解如何从字符串列表(已经可用)中添加项,以及选择哪个项来获取文件名以重新打开文件。我设法在运行时从字符串列表中添加ActionClientItems。。。有关如何获取所选ActionClientItem的问题,请参阅我的最新帖子?我喜欢Nat在那里的答案-可能可以用另一种方式找到它,但为每个文件创建一个操作可能是最好的。我在那里也添加了一些评论。非常感谢。。。我设法从打开的文件中将一个文件名添加到控件(在我的例子中是第一个组的第二个控件)。现在,要了解如何从字符串列表(已经可用)中添加项,以及选择哪个项来获取文件名以重新打开文件。我设法在运行时从字符串列表中添加ActionClientItems。。。有关如何获取所选ActionClientItem的问题,请参阅我的最新帖子?我喜欢Nat在那里的答案-可能可以用另一种方式找到它,但为每个文件创建一个操作可能是最好的。我在那里也添加了一些评论。