3

TTabSheet我的每一个TPageControl都有一个TToolBar。每个工具栏都有一个TToolButton应该响应相同的键盘快捷键。如何提供热键以便为当前页面调用右键?

在第一个选项卡上,Ctrl+T应该会发生一些事情,但是在切换到第二个选项卡时,Ctrl+T应该会发生其他事情。

现在是在显示或隐藏选项卡表TActionList.State之间切换的时间asNormal吗?asSuspended

4

2 回答 2

1

如果您希望Ctrl+T简单地TabSheets在 a 上的活动之间翻转,则创建一个带有+快捷方式PageControl的单个Action ,并根据需要在页面之间翻转:CtrlT

procedure TForm1.actNextPageExecute(Sender: TObject)
var
   nextPageIndex: Integer;
begin
   nextPageIndex := PageControl1.ActivePageIndex+1;

   if (nextPageIndex > PageControl1.Pages.Count-1) then
       nextPageIndex := 0;

   PageControl1.ActivePageIndex := nextPageIndex;
end;
于 2011-06-15T23:25:29.930 回答
0

如果您希望一个 TAction 根据启动它的控件执行不同的操作,只需查看该操作的ActionComponent属性。将所有控件连接到相同的操作。

另一种方法是使用相同的快捷方式进行多个操作,并根据可见或聚焦的内容在 Update 事件中启用或禁用它们。

于 2011-06-16T21:31:48.323 回答