RichEdit позициониране на курсор

3 отговора 106 прегледа
#1

RichEdit позициониране на курсор

Извинете ме за тъпия въпрос, обаче не мога да накарам RichEdit да позиционира курсора в началото на текста, който преди това съм добавил.

Надявам се да съм се изразил добре.

Отговор
в отговор на Heyk #2

Re: RichEdit позициониране на курсор

самото позициониране не е проблем CarePos.x и CaretPos.y са ред и колона

обаче ако съответния ред не се вижда /е над или под видимия текст/ ще трябва да аутоскролваш - нещо което незнам как се прави

Am I evil?
Yes I am.
Отговор
в отговор на Hateras #3

Re: RichEdit позициониране на курсор

Bauuuuu!!

az pak si misleh che stawa s .selstart:=0(1); .sellen:=0;

------------------------------
I got a COMPILER, and I'm not afraid to use it!
Отговор
в отговор на Heyk #4

Re: RichEdit позициониране на курсор

Това е за позициониране в началото на целия текст:

RichEdit.SelStart := 0;
RichEdit.SelLength := 0;
SendMessage(RichEdit.Handle,EM_SCROLLCARET,0,0);

За позициониране мисля, че ще трябва да си запомниш подходяща стойност на SelStart или да я разбереш с някой и друг message (напиши в Delphi EM_SCROLLCARET и натисни върху него F1 за Help. Ще излезе help-a за този message. Горе има един бутон Group. Ако го натиснеш ще видиш всички messages в тази група).

Това е за изклчване на пречертаването на RichEdit-a:
SendMessage(FRichEdit.Handle,WM_SETREDRAW,0,0);

за да няма мигане и за да става бързо.

Това включва пречертаването:
SendMessage(FRichEdit.Handle,WM_SETREDRAW,1,0);

А това е един мой work аround за това, че Win XP не си пречертава scroll bar-ите след изключване и включване на пречертаването.
RichEdit.ScrollBars := ssNone;
RichEdit.ScrollBars := ssBoth;

Отговор