Компонент Delphi StringGrid









                                           ГЛАВНАЯ           СВОЙСТВА           СОБЫТИЯ           ПРИЁМЫ  ПРОГРАММИРОВАНИЯ




События StringGrid
11. OnClick
14. OnEnter
15. OnExit
19. OnKeyDown
11. OnKeyUp
14. OnMouseUp




StringGrid Delphi

Событие OnKeyDown




   Событие OnKeyDown компонента StringGrid Delphi происходит при нажатии клавиши на клавиатуре, в момент когда клавиша находится в нижнем положении.

  Обработчик события OnKeyDown имеет следующий вид:

procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin

end;

   Видим, что переменная Key, содержащая код нажатой клавиши, имеет тип Word, то есть число в диапазоне 0 .. +65535. Это означает, что событие OnKeyDown наступает при нажатии не только символьных, но также и управляющих, то есть любых клавиш на клавиатуре.

   Кроме того, переменная Key используется с ключевым словом var, которое означает что значение переменной Key может быть переопределено с передачей значения вовне процедуры. Эффект такого переопределения таков, как будто вместо действительно нажатой была нажата другая клавиша, имеющая соответствующий код.

Пример. Пусть при нажатии Enter происходило сохранение текста в ячейке, а при нажатии Escape - очистка ячейки. С помощью переопределения заменим нажатие клавиши Enter на нажатие клавиши Escape:

const
 Enter=13;
 Escape=27;
begin
//фрагмент...
  if Key=Enter then Key:=Escape;
  if Key=Escape then
with StringGrid1 do
  Cells[Col, Row]:='';

   Теперь и при нажатии Enter и при нажатии Escape ячейка будет очищена от текста.

   Следующий параметр, Shift, имеющий тип TShiftState, поможет определить, какие управляющие клавиши были нажаты совместно с нажатием нашей клавиши. Тип TShiftState это множество, состоящее из одного или нескольких следующих значений:

  TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);

Присутствие во множестве TShiftState соответствующих значений имеет следующий смысл:

  • ssShift - была нажата управляющая клавиша Shift;
  • ssAlt - была нажата управляющая клавиша Alt;
  • ssCtrl - была нажата управляющая клавиша Ctrl;
  • ssLeft - была нажата левая кнопка мышки;
  • ssRight - была нажата правая кнопка мышки;
  • ssMiddle - была нажата средняя кнопка мышки;
  • ssDouble - были нажаты и левая и правая кнопки мышки.
   Таким образом, с помощью обработчика cобытия OnKeyDown программист сможет проанализировать весь спектр манипуляций с клавиатурой и мышкой.


Читайте также:
  • Событие OnSelectCell  компонента StringGrid

    Сайт из коллекции Компоненты Delphi    

    Карта сайта