Компонент Delphi StringGrid









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




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




StringGrid Delphi

Событие OnKeyUp




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

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

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

end;

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

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

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

const
 Enter=13;//код клавиши Enter
 Escape=27;//код клавиши Escape
begin
//фрагмент...
  if Key=Enter then Key:=Escape;// переопределение
  if Key=Escape then
  with StringGrid1 do
    Cells[Col, Row]:='';
end;

   Теперь и при нажатии 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    

    Карта сайта