Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2010, 18:19   #1
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию Прокрутить скролл в TMemo на начало

Здравствуйте! На форме есть компонент TMemo с вертикальными скроллами. Например, я перемешаю бегунок скролла на середину, как мне по нажатию кнопки вернуть его в начальную позицию, то есть позицию 0 ?
RIO вне форума Ответить с цитированием
Старый 26.06.2010, 18:29   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,220
По умолчанию

Код:
  Memo1.SelStart := 0;
  Memo1.SelLength := 0;
Цитата:
Сообщение от RIO
TMemo с вертикальными скроллами
О как, более 1 вертикального скролла, что-то новенькое
Arigato вне форума Ответить с цитированием
Старый 26.06.2010, 18:37   #3
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

С вертикальным Хотел кстати выправить, но как раз открыл делфу и опять соображал как можна реализовать эту проблему А тут вы уже отписали... Спасибо!
RIO вне форума Ответить с цитированием
Старый 28.06.2010, 09:17   #4
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

PostMessage(MainForm.Memo1.Handle, WM_VSCROLL, SB_BOTTOM, 0);
это вниз... по памяти могу соврать, но вверх - это SB_TOP
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 27.01.2014, 17:23   #5
Valeriy4
 
Регистрация: 30.08.2010
Сообщений: 9
По умолчанию

Здравствуйте!
Решил задать вопрос в эту тему, чтобы не создавать новую.
Подскажите, пожалуйста!
Этим кодом я прокручиваю скролл у RichEdit1.
(код конечно демонстрационный, но принцип отражает)

with RichEdit1 do
begin
// указываем позицию курсора на нужную строку
selstart:=perform(EM_LineIndex, 1, 0);
sellength:=1; // выделяем
perform(EM_ScrollCaret,0,0); // прокручиваем скролл
SetFocus; // фокус
end;

Всё работает нормально.
Но если я добавляю в uses модуль RichEdit (uses RichEdit), то сообщение:

perform(EM_ScrollCaret,0,0);

перестаёт работать, т.е. скролл не прокручивается.
Позиция ставится, строка выделяется, но скролл не прокручивается!
Как только убираю модуль RichEdit из uses, всё работает.

Дело в том, что, этот модуль мне нужен для увеличения количества
символов вводимых в RichEdit, с помощью сообщения:

SendMessage(RichEdit1.Handle, EM_EXLIMITTEXT, 0, $7FFFFFF0);

Если кто сталкивался с этим явлением, подскажите, пожалуйста, в чём
причина?
Заранее спасибо!
Valeriy4 вне форума Ответить с цитированием
Старый 28.01.2014, 10:59   #6
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Значит метод perform в этом юните переопределен. Используй с именем модуля, например Windows.Perform
FaTaL вне форума Ответить с цитированием
Старый 28.01.2014, 11:23   #7
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

или поменяй uses местами

Цитата:
SendMessage(RichEdit1.Handle, EM_EXLIMITTEXT, 0, $7FFFFFF0);
тебе нужна константа EM_EXLIMITTEXT?
посмотри ее значение в модуле и вставь в свой Unit
ZuBy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Горизонтальный скролл!!! AK BULLETS Общие вопросы Delphi 2 26.03.2010 22:17
скролл бар Abuhamed HTML и CSS 3 16.03.2010 14:27
ListView - убрать скролл. Belfigor Общие вопросы Delphi 3 03.03.2010 19:39
Скролл в Word viter.alex Microsoft Office Word 3 27.01.2009 23:41