HELP!!! C++Builder6 Выделение фрагмента текста в RichEdit

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Mancho
Сообщения: 2
Зарегистрирован: 11 янв 2005, 14:00

Всем огромный привет!
Помогите, пожалуйста решить следующую проблему:
Допустим я нашел в тексте компонента RichEdit исходный фрагмент текста, мне необходимо прокрутить полосу прокрутки чтобы этот фрагмент был обозреваем и выделить этот фрагмент текста. Номер строки есть, позиции искомого фрагмента имеются. Какие сообщения ОС Windows использует для этих нужд и как пользовпаться этими сообщениями (тоже доконца не разобрался)
Допустим объявляю объект структуры сообщения
TWMScroll M;
TWMScroll *M1=&M; //указываю ссылку на этот объект, задаю значения объекта:
M.Msg=VM_VSCROLL;
M.ScrollCode=SB_THUMBTRACK;
M.Rezult=0;
M.Pos=????????//как соотносятся число строк текста и значение высоты вертикальной полосы прокрутки, что надо здесь писать
RichEdit1->Dispatch(M1);
RichEdit1->Perform(VM_VSCROLL,0,0);
А для выделения фрагмента текста?
TWM_SetText M2; ?????????????????????

Спасибо всем тем кто откликнулся!!!!
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Прокрутка до заданной строки nLine:

Код: Выделить всё

  int fvl_idx = RichEdit1->Perform(EM_GETFIRSTVISIBLELINE, 0, 0);
  RichEdit1->Perform(EM_LINESCROLL, 0, nLine-fvl_idx);
Выделение фрагмента (From, To):

Код: Выделить всё

  RichEdit1->SelStart = From;
  RichEdit1->SelLength = To-From;
Ответить