StringGrid Delphi
Событие OnMouseDown
Событие OnMouseDown компонента StringGrid Delphi происходит при нажатии клавиши мыши. Причём событие OnMouseDown вызывается при нажатии любой клавиши, левой, правой или средней. Событие OnMouseDown происходит в нижнем положении клавиши, непосредственно в момент нажатия.
Определить, какая именно клавиша была нажата и параметры нажатия, помогут встроенные переменные обработчика события. Обработчик события OnMouseDown имеет следующий вид:
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer );
begin
end;
Параметр Button имеет тип:TMouseButton = (mbLeft, mbRight, mbMiddle);
- mbLeft - была нажата левая клавиша мыши;
- mbRight - была нажата правая клавиша мыши;
- mbMiddle - была нажата средняя клавиша мыши.
Параметр Shift имеет тип:
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);
где ACol - индекс столбца, ARow - индекс строки ячейки, в которой находился курсор в момент нажатия клавиши мыши.
Читайте также:
- Событие OnSelectCell компонента StringGrid