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

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  With menus (and labels), If you use the '&' character in the caption of a menu, 
  you can access that menu item with the short cut key. 
  With this code you can do the same thing with TTabSheet objects 
  that are used with TPageControl objects. 

  Zugriffstasten ermoglichen die Ausfuhrung eines Menubefehls mit Hilfe der Tastatur. 
  Der Benutzer braucht nur die Taste Alt und den mit dem Zeichen & kombinierten 
  Buchstaben zu drucken. 

  Dieser code erlaubt dieselebe Funktionalitat fur ein 
  TTabSheet eines TPageControls. 
}

 // in form declaration 
private
   procedure CMDialogChar(var Msg: TWMCHAR); message CM_DIALOGCHAR;
 end;

    type
   TPageControlCracker = class(TPageControl);

 {...}

 implementation

   procedure TForm1.CMDialogChar(var Msg: TWMCHAR);
   var
     i: Integer;
   begin
     if (Msg.keydata and $20000000) <> 0 then
     begin
       { Alt key is down }
       with TPageControlCracker(PageControl1) do
         for i := 0 to PageCount - 1 do
         begin
           if IsAccel(Msg.charcode, Pages[i].Caption) then
           begin
             if CanChange then
             begin
               ActivePage := Pages[i];
               Msg.Result := 1;
               Change;
               Exit;
             end; { If }
           end;  { If }
         end; {For}
     end; {If}
     inherited;
   end;
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay