CarretPos i CursorPOs

Odpowiedz Nowy wątek
2004-04-16 15:21
0

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


Phi

Pozostało 580 znaków

2004-04-18 13:25
0

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

Pozostało 580 znaków

2004-04-18 20:31
0

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

Pozostało 580 znaków

2004-04-19 11:11
0

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


Phi

Pozostało 580 znaków

2004-04-19 20:23
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] .

Pozostało 580 znaków

2004-04-19 23:27
0

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

Pozostało 580 znaków

2004-04-22 23:42
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;

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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