Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.05;
Скачать: CL | DM;

Вниз

Как в Ричедит узнать и перейти на выделеную в нем строку?   Найти похожие ветки 

 
Kostik   (2006-01-19 19:17) [0]

Вобщем я Файнддиалогом ищу текст в ричедите. Он его нааходит но не прокручивает текст а только выделяет. Как перейти на выделеную строку??
ищу так :

procedure TForm1.FindDialog1Find(Sender: TObject);
var
 FoundAt: LongInt;
 StartPos, ToEnd: Integer;
Begin
 with RichEdit2 do
 begin
   if SelLength <> 0 then
     StartPos := SelStart + SelLength
   Else
     StartPos := 0;
   ToEnd := Length(Text) - StartPos;
   FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
   if FoundAt <> -1 then
   begin
     SetFocus;
     SelStart := FoundAt;
     SelLength := Length(FindDialog1.FindText);
   end;
 end;
end;


 
Kostik   (2006-01-19 19:34) [1]

ну, или как ГРАМОТНО искать, выделять и переходить на выделеный текст в ричедите??


 
begin...end ©   (2006-01-19 19:45) [2]

> Kostik   (19.01.06 19:17)

После установки SelLength добавьте такой код: Perform(EM_SCROLLCARET, 0, 0).

Интересно, что EM_SCROLLCARET должно автоматически посылаться при изменении SelLength (см. TCustomRichEdit.SetSelLength), однако прокручивания действительно почему-то не происходит...


 
Kostik   (2006-01-20 07:18) [3]

>begin...end
Большое спасибо!



Страницы: 1 вся ветка

Текущий архив: 2006.02.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
2-1137567723
РВА
2006-01-18 10:02
2006.02.05
Создание массива в Blob поле


15-1137177301
Lamer@fools.ua
2006-01-13 21:35
2006.02.05
Предлагаю повесить в форме добавления нового вопроса


6-1129028584
DelphiN!
2005-10-11 15:03
2006.02.05
Проверка доступности интернета(через прокси)


15-1137106561
LordOfRock
2006-01-13 01:56
2006.02.05
Всколыхнём забытое?


1-1135789538
1vopros
2005-12-28 20:05
2006.02.05
Динамическая record - возможно? Как реализовать?