|
<< Нажмите, чтобы показать Содержание >> TCustomRichView.OnRVMouseDown |
Происходит, когда пользователь нажимает кнопку мыши, когда указатель мыши находится над документом.
type
TRVMouseEvent =
procedure(Sender: TCustomRichView; Button: TMouseButton;
Shift: TShiftState; ItemNo, X, Y: TRVCoord) of 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.
См. также события: