Delphi 使用快捷键更改选项卡式笔记本中的活动页面;

Delphi 使用快捷键更改选项卡式笔记本中的活动页面;,delphi,events,global,Delphi,Events,Global,DelphiV7。我在这里学到了很多。人们非常愿意帮忙。所以,我还有一个问题 我想使用快捷键更改选项卡式笔记本的活动页面。我可以在控件内的keydown事件中执行此操作,但与单击笔记本上的选项卡相比,它不会节省在控件内单击的时间 示例7: procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (ssCtrl in Shift) and (Upcase(Chr(k

DelphiV7。我在这里学到了很多。人们非常愿意帮忙。所以,我还有一个问题

我想使用快捷键更改选项卡式笔记本的活动页面。我可以在控件内的keydown事件中执行此操作,但与单击笔记本上的选项卡相比,它不会节省在控件内单击的时间

示例7:

procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if (ssCtrl in Shift) and (Upcase(Chr(key)) = 'T') then
   tabNB.PageIndex:= tabNB.PageIndex +1;
end;
目标是能够使用快捷键,而不必在控件的keydown事件中使用快捷键。有没有可能在项目的某个全局区域编写一个过程,让我可以这样做?

您可以在

或者,您可以使用JVCL绝地库(免费)中的TJvApplicationHotKey组件,将其放在表单上,设置热键属性,将active属性设置为true,然后将代码放入

tabNB.PageIndex:= tabNB.PageIndex +1;
在onHotKey事件中


顺便说一下,TNoteBook是一个旧组件,您可以使用TPageControl作为替代品。

您使用TabbedNotebook而不是PageControl的原因是什么?TabbedNotebook甚至出现在
Win3.1
页面上?顺便说一句,第一个推广是使用Form1的OnKeyDown处理程序。您必须将Form1的KeyPreview属性设置为True才能工作。当您已经处理了它并且现在希望它被其他人忽略时,请将Key设置为
0
。只有在设计时能够在不更改.DFM文件的情况下浏览页面,这才是值得的。但是,当然,它在许多其他方面都比TabbedNotebook好。我可以看出TPageControl是一个更好的选择。我没有想到它,因为我不知道如何使用它。不过我会试试看。至于这个项目中的标签笔记本,将其放入表单的按键事件中效果非常好——感谢@Robert。是的,使用表单的keydown事件更简单:)。所以,我创建了一个带有页面控件的测试项目。我一定很傻。这很容易操纵。这个地方太棒了!!我在这里学到了很多。谢谢大家。