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 содержатся коды клавиш, нажатых и ранее.
Например, если вначале была нажата правая кнопка мыши, а затем левая, то код левой клавиши передастся в параметре Button, а в параметре Shift код и левой и правой клавиши.
Параметры X и Y это координаты курсора в момент нажатия клавиши мыши, отсчитываемые от точки (StringGrid.Left, StringGrid.Top), то есть левый верхний угол таблицы имеет коодинаты (0, 0). Однако чаще нужно иметь не координаты курсора в пикселах, а ячейку, в которой находился курсор в момент нажатия. Определить адрес ячейки поможет функция
StringGrid.MouseToCell(X, Y, ACol, ARow);
принимающая координаты X и Y как входные параметры, и определяющая ACol - индекс столбца, и ARow - индекс строки ячейки, в которой находился курсор в момент нажатия клавиши мыши.
Читайте также:
- Событие OnSelectCell компонента StringGrid