Delphi World - Как использовать клавишу-акселератор в TTabSheets
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как использовать клавишу-акселератор в TTabSheets

Press any key to continue or any other key to exit

Можно перехватить сообщение CM_DIALOGCHAR


type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
  private
    {Private declarations}
    procedure CMDialogChar(var Msg:TCMDialogChar);
    message CM_DIALOGCHAR;
  public
    {Public declarations}
  end;

var
  Form1: TForm1;

implementation
{$R *.DFM}

procedure TForm1.CMDialogChar(var Msg:TCMDialogChar);
var
  i: integer;
begin
  with PageControl1 do
  begin
    if Enabled then
      for i := 0 to PageControl1.PageCount - 1 do
        if ((IsAccel(Msg.CharCode, Pages[i].Caption)) and
        (Pages[i].TabVisible)) then
        begin
          Msg.Result:=1;
          ActivePage := Pages[i];
          exit;
        end;
  end;
  inherited;
end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования