Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программный скроллинг 
:(
    Опции темы
Victor
Дата 21.2.2004, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 29.10.2003

Репутация: нет
Всего: нет



Как сделать скроллинг в TRichEdit, для чата т.е. чтобы прокручивалась сама но в зависимости, если chekbox = cheked??
PM MAIL   Вверх
dm9
Дата 22.2.2004, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Цитата
Как прокрутить TRichEdit в конец?
Previous  Top  Next 

Существует множество способов, включая и:

---DO NOT USE THIS EXAMPLE - SEE BELOW INSTEAD---
    with MainFrm.RichEdit1 do 
    begin 
      perform (WM_VSCROLL, SB_BOTTOM, 0); 
      perform (WM_VSCROLL, SB_PAGEUP, 0); 
    end; 
-------------------------------------------------

Вышеприведённый пример работает отлично в 9x и NT4, но не работает в Windows 2000. Поэетому предлагаю воспользоваться следующим примером:

    with MainFrm.RichEdit1 do 
    begin 
      SelStart := Length(Text); 
      Perform(EM_SCROLLCARET, 0, 0); 
    end; 

Взято с Исходников.ru http://www.sources.ru


Цитата
Установка каретки в RichEdit
Previous  Top  Next 

Узнать положение курсора в RichEdit не составляет труда (richedit.getcaret). А вот как установить каретку в нужное место ?.

Procedure setline(WhichEdit:TRichedit;Linepos,charpos:integer);
Begin
with WhichEdit do 

 
begin 

   selstart:=perform(EM_LineIndex,Linenum,0)+charpos; 

   perform(EM_ScrollCaret,0,0); 

end; 

 
end;

Комментарии:
Если Вам не нужно, чтобы происходил скроллинг к позиции каретки, то EM_ScrollCaret можно убрать. Эта процедура так же может быть использована для TMemo, только надо будет заменить объявление witchedit на TMemo:
Procedure CustomMemoSetline(WhichEdit:TCustomMemo;Linepos,charpos:integer);

Так же эту процедуру можно использовать как ответ на вопрос "Как установить фокус на определённую строку в компоненте Memo ?". Для этого необходимо добавить следующий код после строки selstart:
sellength:=length(lines(line));
И установить charpos в 0.

RichEdit должен иметь фокус, иначе em_ScrollCaret не сработает.

Взято с Исходников.ru http://www.sources.ru


Кактдумаешь, откуда это?
Правильно, из оффлайн ФАКА!!!
Если ты будешь так добр его скачать, узнаешь ещё много интересного...

Это сообщение отредактировал(а) dm9 - 22.2.2004, 01:22
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.