TTabSheet
我的每一个TPageControl
都有一个TToolBar
。每个工具栏都有一个TToolButton
应该响应相同的键盘快捷键。如何提供热键以便为当前页面调用右键?
在第一个选项卡上,Ctrl+T应该会发生一些事情,但是在切换到第二个选项卡时,Ctrl+T应该会发生其他事情。
现在是在显示或隐藏选项卡表TActionList.State
之间切换的时间asNormal
吗?asSuspended
如果您希望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;
如果您希望一个 TAction 根据启动它的控件执行不同的操作,只需查看该操作的ActionComponent
属性。将所有控件连接到相同的操作。
另一种方法是使用相同的快捷方式进行多个操作,并根据可见或聚焦的内容在 Update 事件中启用或禁用它们。