Правильная ссылка на эту страницу
http://az-design.ru/Support/SoftWare/Delphi/D3/SB47OnKeyDown.shtml

Глава 47. TWinControl.OnKeyDown

Событие OnKeyDown

Затрагиваемые объекты Все оконные элементы управления
Назначение Событие OnKeyDown происходит при нажатии любой клавиши в то время, как оконный элемент управления имеет фокус.
Объявление property OnKeyDown: TKeyEvent;
Пример синтаксиса
type TForm1 = class(TForm)
     Button1: TButton;
     Button2: TButton;
     GroupBox1: TGroupBox;
     Label1: TLabel;
     Label2: TLabel;
     Label3: TLabel;
     Label4: TLabel;
     Label5: TLabel;
     procedure FormCreate(Sender: TObject);
     procedure MyKeyDownHandler(Sender: TObject; var Key: Word;
                                Shift: TShiftState);

  private
    { Private declarations }

  public
    { Public declarations }

end;
 
var
   Form1: TForm1;
 
implementation
{$R  *.DFM}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
   Button1.OnKeyDown := MyKeyDownHandler;
   Button2.OnKeyDown := MyKeyDownHandler;

end;
 
procedure TForm1.MyKeyDownHandler(Sender: TObject; var Key: Word;
                                  Shift: TShiftState);
begin
   Label3.Caption := Chr(Key) + ' key down at'
                              + Button(Sender).Name;

end;
Описание Событие OnKeyDown происходит при каждом нажатии клавиши в то время, как оконный элемент управления находится в фокусе. OnKeyDown отвечает на все клавиши, включая SHIFT, ALT и CTRL. Он также обрабатывает комбинированное нажатие клавиш, подобное CTRL-А. Параметр Key определяет, какая клавиша была нажата. Используйте функцию Chr для преобразования последней в символ, как в вышеприведенном примере. Параметр Shift указывает, какие модификаторные клавиши или кнопки мыши были нажаты, когда произошло это событие. Shift имеет тип TShiftState, который может принять любое сочетание следующих возможных значений: ssAlt, ssCtrl, ssDouble (обе кнопки мыши), ssLeft (левая кнопка мыши), ssMiddle (средняя кнопка мыши) или ssShift. Хотя в вышеприведенном примере кода обработчику этого события присвоена процедура во время выполнения, обычно это достигается в Object Inspector во время разработки.
[Метод ContainsControl] [Метод ControlAtPos] [Свойство ControlCount] [Метод Controls] [Свойство Ctl3D] [Метод HandleAllocated] [Метод InsertControl] [Событие OnEnter] [Событие OnExit] [Событие OnKeyDown] [Событие OnKeyPress] [Событие OnKeyUp] [Свойство ParentCtl3D] [Метод RemoveControl] [Метод ScaleBy] [Метод SetFocus] [Свойство TabOrder] [Свойство TabStop]

<<< Пред. Оглавление
Начало раздела
След. >>>




Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:55 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/SoftWare/Delphi/D3/SB47OnKeyDown.shtml