Компонент Delphi StringGrid









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




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




StringGrid Delphi

Событие OnMouseUp




   Событие OnMouseUp компонента StringGrid Delphi происходит при нажатии клавиши мыши. Причём событие OnMouseUp вызывается при нажатии любой клавиши, левой, правой или средней. Событие OnMouseUp происходит в момент отпускания клавиши.

   Определить, какая именно клавиша была нажата и параметры нажатия, помогут встроенные переменные обработчика события. Обработчик события OnMouseUp имеет следующий вид:

procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin

end;

   Параметр Button события OnMouseUp имеет тип:

TMouseButton = (mbLeft, mbRight, mbMiddle);

  • mbLeft - была нажата левая клавиша мыши;
  • mbRight - была нажата правая клавиша мыши;
  • mbMiddle - была нажата средняя клавиша мыши.


   Параметр Shift события OnMouseUp имеет тип:

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

   Это множество, содержащее одно или несколько следующих значений:

  • ssShift - нажата клавиша Shift;
  • ssAlt - нажата клавиша Alt;
  • ssCtrl - нажата клавиша Ctrl;
  • ssLeft - нажата левая клавиша мыши;
  • ssRight - нажата правая клавиша мыши;
  • ssMiddle - нажата средняя клавиша мыши;
  • ssDouble - нажаты и правая и левая клавиши мыши.
   Видим, что и параметр Button и параметр Shift события OnMouseUp имеют одинаковые значения ssLeft, ssRight, ssMiddle. Однако в этих параметрах они имеют различный смысл.
   В параметре Button передаётся код клавиши, нажатой именно в данный момент, а в параметре Shift содержатся коды клавиш, нажатых и ранее.
   Например, если вначале была нажата правая кнопка мыши, а затем левая, то код левой клавиши передастся в параметре Button, а в параметре Shift код и левой и правой клавиши.

   Параметры X и Y это координаты курсора в момент нажатия клавиши мыши, отсчитываемые от точки (StringGrid.Left, StringGrid.Top), то есть левый верхний угол таблицы имеет коодинаты (0, 0). Однако чаще нужно иметь не координаты курсора в пикселах, а ячейку, в которой находился курсор в момент нажатия. Определить адрес ячейки поможет функция

StringGrid.MouseToCell(X, Y, ACol, ARow);

принимающая координаты X и Y как входные параметры, и определяющая ACol - индекс столбца, и ARow - индекс строки ячейки, в которой находился курсор в момент нажатия клавиши мыши.


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

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

    Карта сайта