СообЧа > База Знаний > Программирование > Delphi

Вопрос

В Windows Commander есть просмотрщик текстовых файлов. По нажатии F3 открывается окно, как в Блокноте, текст в котором недоступен для редактирования (нельзя даже поставить курсор редактирования). Пробовал сделать что-то подобное на Delphi, сделав поле RichEdit неактивным (Enabled=false). Но при этом пропадает возможность прокрутки текста (исчезают scroll bars). Каким образом можно сделать так, чтобы в окне редактора текста отсутствовал курсор и возможность выделения текста, но оставались линии прокрутки?

Ответ

В принципе можешь использовать и RichEdit (с Enabled := False), только придется обрабатывать скроллинг ручками. Для этого берется компонент TScrollBar и обрабатываются его события. Например:

procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode; var ScrollPos: Integer); begin case ScrollCode of scLineUp: Memo1.Perform(EM_LINESCROLL, 1, -1); scLineDown: Memo1.Perform(EM_LINESCROLL, 1, 1); scPageUp: Memo1.Perform(EM_LINESCROLL, 1, -10); scPageDown: Memo1.Perform(EM_LINESCROLL, 1, 10); // Здесь можно дописать обработчик и для других ScrollCode :) end; end;

Это только часть событий. Если хочешь обработать все, читай справку по WinApi и по TScrollBar.

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация