TSRichViewEdit.ConvertSRVtoRV |
Top Previous Next |
|
Converts client coordinates in this TSRichViewEdit component to client coordinates of ActiveEditor. function ConvertSRVtoRV(p: TPoint; var bInTextArea, bInLeft, bInPageArea: Boolean): TPoint; Input parameters: p – coordinates relative to the top left corner of TSRichViewEdit's window. Output parameters: bInTextArea – True if p is inside of some page's content area. bInLeft – True if p is to the left of some page (in the "line selection" area). InPageArea – True if p is inside of some page's area (above content or above margins). Return value: coordinates relative to the top left corner of ActiveEditor. See also:
Example: This code assigns text of the item at the position of the mouse pointer to Label1.Caption // OnMouseMove event procedure TForm3.SRichViewEdit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var pt: TPoint; RVData: TCustomRVFormattedData; InPageArea, InLeftArea, InTextArea: Boolean; ItemNo, Offs: Integer; begin pt := SRichViewEdit1.ConvertSRVtoRV(Point(X, Y), InTextArea, InLeftArea, InPageArea); if InTextArea then begin pt := SRichViewEdit1.ActiveEditor.ClientToDocument(pt); SRichViewEdit1.ActiveEditor.GetItemAt(pt.X, pt.Y, RVData, ItemNo, Offs, True); if ItemNo>=0 then Label1.Caption := RVData.GetItemText(ItemNo) else // in page, but not in item Label1.Caption := ''; end else // not in page Label1.Caption := ''; end;
|