CarretPos i CursorPOs

0

Jak ustawić "carret" w richedit na miejscu gdzie znajduje się kursor myszy przy ruchu myszką?

0

Pobierz pozycję x i y kursora myszy i w richedit kursor ustaw na ich postawie.

0

Robittsoft a jak dokladnie? jedno jest w pixlach a drugie w "znakach" to jest wierszach i znakach od lewej.

0

Dokładnie. Dlatego mam wałaśnie problem. Jak to zrobić??

0

pobierasz pozycje RichEdit wzgl. (0,0), pobierasz pozycje myszy.
Bawisz się stringami i Canvas.TextWidth, Canvas.TextHeight i przeliczasz...

Może być problem, gdy tekst się przesunie w RichEdit, ale to już zostawiam innym, mądrzejszym ode mnie [hurra] .

0

Cimak a odległości między wierszami też komuś zostawiasz? ;p

0

Juz wiem , a to dzięki kodowi który znalazł kalifat
http://4programmers.net/Forum/viewtopic.php?id=51864

procedure mousetoWZn(RE: TRichEdit; mouse: TPoint;var wiersz,lpznaku:integer);
var charindex:integer;
Begin
charindex := RE.Perform(Messages.EM_CHARFROMPOS, 0,
integer(@mouse));
wiersz:=-1;lpznaku:=-1;
if charindex >= 0 then
begin
wiersz := RE.Perform(EM_EXLINEFROMCHAR, 0, charindex);
lpznaku := charindex - RE.Perform( EM_LINEINDEX, wiersz, 0 );

end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1