function GetByteNum(rch: TTntRichEdit; X, Y: integer): integer;
var
pt: Tpoint;
pos: integer;
begin
pt.X := X;
pt.Y := Y;
pos := rch.Perform(EM_CHARFROMPOS, 0, longint(@pt));
result := pos;
end;问题是:这样取到的点击位置并不对。还需要加上开头到点击处
出现的#$D#$A的次数。这样才正确。
请高手解答一下。如何才能准确得到点击处到开头的位置(字符个数)。
var
pt: Tpoint;
pos: integer;
begin
pt.X := X;
pt.Y := Y;
pos := rch.Perform(EM_CHARFROMPOS, 0, longint(@pt));
result := pos;
end;问题是:这样取到的点击位置并不对。还需要加上开头到点击处
出现的#$D#$A的次数。这样才正确。
请高手解答一下。如何才能准确得到点击处到开头的位置(字符个数)。
procedure TForm1.TntRichEdit1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
form1.Caption:=inttostr(form1.TntRichEdit1.SelStart);
end;