|
//----------------------------------------------------------------------------------------
procedure TfExDBG.GridMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Var Row, Col : Integer; APoint : TPoint; Grid : TexDBGrid; begin Grid:=TexDBGrid(Sender);
// Получим номер строки и столбца грида, над которыми произошел клик мышкой
Grid.MouseToCell(X,Y,Col,Row);
IF Button = mbRight Then // Если мышка не попала на незаполненную область грида
IF (Col >= 0) AND (Row >=0 ) Then Begin // Нажатие правой кнопки мыши, проверяем какое меню требуется вызвать
IF Row = 0 Then Grid.PopUpMenu:=pmTitle Else Grid.PopUpMenu:=pmData;
// Получаем из координат мыши(относительно грида — клиентские координаты) // экранные координаты для всплывающего меню
APoint := Grid.ClientToScreen(Point(X,Y)); Grid.PopUpMenu.Popup(APoint.X,APoint.Y); End; end; //-------------------------------------------------------------------------------------------------- |