RichEdit позициониране на курсор
3 отговора
106 прегледа
RichEdit позициониране на курсор
Извинете ме за тъпия въпрос, обаче не мога да накарам RichEdit да позиционира курсора в началото на текста, който преди това съм добавил.
Надявам се да съм се изразил добре.
Надявам се да съм се изразил добре.
Re: RichEdit позициониране на курсор
самото позициониране не е проблем CarePos.x и CaretPos.y са ред и колона
обаче ако съответния ред не се вижда /е над или под видимия текст/ ще трябва да аутоскролваш - нещо което незнам как се прави
Am I evil?
Yes I am.
обаче ако съответния ред не се вижда /е над или под видимия текст/ ще трябва да аутоскролваш - нещо което незнам как се прави
Am I evil?
Yes I am.
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!
az pak si misleh che stawa s .selstart:=0(1); .sellen:=0;
------------------------------
I got a COMPILER, and I'm not afraid to use it!
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;
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;