TTabSheet
上的每个TPageControl
都有一个TToolBar
。每个工具栏都有一个TToolButton
,它应该响应相同的键盘快捷键。如何提供热键以便为当前页面调用右键?
在第一个标签页上, Ctrl + T 应该会发生一些事情,但在切换到第二个标签时, Ctrl + T 应该让其他事情发生。
当显示或隐藏标签页时,是时候在TActionList.State
和asNormal
之间切换asSuspended
吗?
答案 0 :(得分:1)
如果您想要 Ctrl + T ,只需在TabSheets
上的有效PageControl
之间切换,然后创建一个操作< / strong>,使用 Ctrl + T 快捷方式,并根据需要在页面之间翻转:
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;
答案 1 :(得分:0)
如果您希望一个TAction根据启动它的控件执行不同的操作,请查看操作的ActionComponent
属性。将所有控件挂钩到同一个操作。
另一种方法是使用相同的快捷方式进行多个操作,并根据可见或聚焦的内容在Update事件中启用或禁用它们。