pozycja karetki w richedit (w px)

Odpowiedz Nowy wątek
2006-07-29 23:52
0

Witam. Szukałem, ale nie znalazłem...
Mam richedit ze sformatowanym tekstem... I chcę odczytać pozycję karetki od brzegów richedita w pikselach.

Oto zobrazowanie tego o co mi chodzi ;)

user image

Chcę właśnie odczytać zaznaczoną na rysunku szerokość i długość. Jak to zrobić?


Piszę proste programy i stronki internetowe na zlecenie, zaliczenie...
Delphi, Pascal, C++, HTML, CSS, JAVASCRIPT, MySQL, PHP
Kontakt: gg:1477872 e-mail: [email protected]

Pozostało 580 znaków

2006-07-30 11:24
0

Ja nie mam pojęcia jak to zrobić :P Mierzyć pozycję w znakach chyba umiesz: za pomocą właściwości CaretPos.X i CaretPos.Y .
Natomiast co do szerokości w pikselach, to może można by było przenieść ten tekst na TCanvas i dopiero w TCanvas zmierzyć długość w pikselach. Nie pytaj się mnie o szczegóły, bo jeszcze nigdy na TCanvas nie rysowałem. Informacji poszukaj w helpie.
BTW: wiem, że to głupi pomysł, ale zawsze warto spróbować :P


Byłem w KS Ekspercie!
Po szczegóły zapraszam na moją stronę WWW.

Pozostało 580 znaków

2006-07-30 12:50
0

Jeżeli używasz czcionki, w której każdy znak ma taką samą szerokość (np. Courier New) możesz sprawdzić po ilu znakach znajduje sie kursor i pomnożyć to przez szerokość znaku (szerokość z Canvas.TextWidth). Jeżeli używasz czcionki o różnych szerokościach, możesz pobierać każdy znak z tej linijki aż do kursora i dodawać ich szerokości do siebie. (więcej pracy jeżeli tekst zawiera formatowanie, itp. wtedy musialbys brac pod uwagę wielkość każdego znaku, itp.).


Program to zbiór zer i jedynek ułożonych tak, żeby denerwować użytkownika.

Pozostało 580 znaków

2006-07-30 13:17
0

no niestety mam tekst z formatowaniem - różne wielkości fontów, różne kroje fontów, pogrubienie, kursywa, itp.
;-(

może ktoś jeszcze będzie umiał mi pomóc?


Piszę proste programy i stronki internetowe na zlecenie, zaliczenie...
Delphi, Pascal, C++, HTML, CSS, JAVASCRIPT, MySQL, PHP
Kontakt: gg:1477872 e-mail: [email protected]

Pozostało 580 znaków

2006-08-01 11:47
Ad
0

Wiem, że w SynEdicie jest taka właściwość:

function SynEdit.GetXPix : Integer;
function SynEdit.GetYPix : Integer;

Możesz albo skorzystać z SE, albo sprawdzić jak to tam jest zrobione (SE jest open source).


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