TCustomRichView.OnRVMouseDown

<< Нажмите, чтобы показать Содержание >>

TCustomRichView.OnRVMouseDown

Происходит, когда пользователь нажимает кнопку мыши, когда указатель мыши находится над документом.

type

  TRVMouseEvent =

    procedure(Sender: TCustomRichView; Button: TMouseButton;

    Shift: TShiftState; ItemNo, X, Y: TRVCoordof object;

 

property OnRVMouseUp: TRVMouseEvent;

Аналогично событию OnMouseDown, но передаёт информацию о номере элемента документа под указателем мыши.

ItemNo – номер элемента под указателем мыши, или -1 если такого нет.

Событие даёт возможность обработать нажатие левой, правой и средней  кнопок мыши, в комбинации с нажатием клавиш-модификаторов. Клавиши-модификаторы – это  Shift ,  Ctrl  и  Alt . X и Y – координаты в клиентской области окна Sender.

 

При нажатии над таблицей параметры этого события содержат номер элемента (ItemNo) этой таблицы в корневом документе, даже если пользователь нажал кнопку над элементом внутри этой таблицы.

Используйте следующую процедуру, если хотите узнать нажатый элемент точно:

procedure TForm1.MyRichViewRVMouseDown(Sender: TCustomRichView;

  Button: TMouseButton; Shift: TShiftState;

  ItemNo, X, Y: TRVCoord);

var LRVData: TCustomRVFormattedData;

    LItemNo, LOffs: Integer;

    pt: TRVCoordPoint;

begin

  pt := MyRichView.ClientToDocument(Point(X,Y));

  if not MyRichView.GetItemAt(pt.X, pt.Y, LRVData, LItemNo, LOffs,

    True) then

    exit;

  // нажатый элемент - это LItemNo-й элемент в LRVData

  // пример использования: LRVData.GetItemStyle (LItemNo)

  ..

end;

Примечание: если вы хотите создать код, реагирующий на щелчок по элементу, рекомендуется использовать OnRVMouseUp вместо OnRVMouseDown.

 

См. также события:

OnRVMouseUp.