如何使快捷键根据活动的标签页执行不同的操作?

| 我的
TPageControl
上的每个
TTabSheet
上都有一个
TToolBar
。每个工具栏都有一个
TToolButton
,应响应相同的键盘快捷键。如何提供热键,以便为当前页面调用右键? 在第一个选项卡上,Ctrl + T应该使某些事情发生,但是切换到第二个选项卡时,Ctrl + T应该使其他事情发生。 显示或隐藏选项卡时,这是否是时候在
asNormal
asSuspended
之间切换
TActionList.State
?     
已邀请:
        如果只想让Ctrl + T在to8ѭ上的活动
TabSheets
之间切换,则创建一个具有Ctrl + T快捷键的Action,然后根据需要在页面之间切换:
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根据启动它的控件来执行不同的操作,只需查看action的
ActionComponent
属性。将所有控件挂接到相同的动作。 一种替代方法是让多个操作具有相同的快捷方式,然后根据可见或集中的内容在Update事件中启用或禁用它们。     

要回复问题请先登录注册