Skocz do zawartości

[Delphi] Pozycja kursora w RichEdit w px


Force

Polecane posty

Jak w temacie, mam richedit i chciałbym wiedzieć jakie współrzędne ma kursor w RichEdit w px, a nie że jedna kolumna 3 wiersze, najlepiej nie bezwzględne, a względne względem lewego górnego punktu który widać (on miałby współrzędne 0, 0 więc) Chodzi mi o ten pionowy migacz, a nie gdzie jest strzałka myszy

Baza tysięcy lotnisk: http://airportsbase.com

Link do komentarza
Udostępnij na innych stronach

chyba chodzi ci o to (z Helpa)

 

Indicates the position of the caret in the client area of the memo.

 

Class

TCustomMemo

 

Syntax

 

 

[Delphi] property CaretPos: TPoint read GetCaretPos write SetCaretPos;

 

 

Description

Use CaretPos to determine the coordinates of the cursor. CaretPos defines a location onscreen, in characters, with the origin in the top left corner of the memo. X specifies the horizontal coordinate of the point, Y specifies the vertical coordinate.

 

To determine the position of the caret in terms of characters of text only (rather than X/Y location), use the SelStart property.

 

Related Information

TCustomEdit.SelStart

 

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Force: możesz jaśniej??

 

Zrozumiałem, że nie chodzi Ci o taki efekt jak np w Wordzie??

 

Ale przecież tam pokazuje względem lewego górnego rogu pozycje 'tego pionowego migacza',

 

wiec już sam nie bardzo wiem o co Ci chodzi :rolleyes:

 

Pozdrawiam!

Link do komentarza
Udostępnij na innych stronach

@Toster, to wiem, że takie coś jest, ale to zwraca współrzędne w stylu: kursor jest za 3 znakiem w linijce 6, ale ile px to nie wiem.

Chce zrobić aby pokazywał mi się listbox obok tej kreski pionowej co miga, ale nie wiem jak pobrać jej współrzędne x,y aby dać jako Left,Top listbox-a

Baza tysięcy lotnisk: http://airportsbase.com

Link do komentarza
Udostępnij na innych stronach

nom wg dokumentacji, textWidth podaje dlugosc tekstu uzywajac aktualnego fonta. Nie mam pojecia co sie dzieje w richedicie w sumie tam fonty moga sie zmieniac wiele razy w jednej lini. Trzeba by sprawdzic

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

zerknij na linka Link

jest tam funkcja tego typu (nie sprawdzalem czy dziala)

 

function TForm1.PixelPosInRichEdit(aRichEdit: TRichEdit; aCharPos: integer): TPoint;
// The inverse of CharPosInRichEdit.  Not used in this application, but supplied
// for completeness.  Note that the inverse is not necessarily going to give back
// the same point, since a character spans multiple points.  I _think_ we get back
// the coordinate of the top left pixel of the character.
var
 aPt: TPoint;
begin
 aRichEdit.Perform(EM_POSFROMCHAR, WPARAM(@aPt), aCharPos);

 result := aPt;
end;

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...