Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Многострочные окна редактирования Memo и Richedit




Компоненты Memo и RichEdit (см. пример на рис. 10) являются окнами ре­дактирования многострочного текста. Они снабжены многими функциями, свойственными большинству редакторов.

 

 

Рис. 10. Примеры компонентов Memo и RichEdit

В них предусмотрены типичные комбинации «горячих» клавиш: Ctrl-C — копирование выделенного текста в буфер обмена Clipboard (команда Сору), Ctrl-X — вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V -вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z — от­мена последней команды редактирования.

В компоненте Memo формат (шрифт, его атрибуты, выравнивание) одинаков для всего текста и определяется свойством Font. Если вы сохраните в файле текст, введенный или отредактированный пользователем, то будет создан текстовый файл, содержащий только символы и не содержащий элементов форматирования. При последующем чтении этого файла в Memo формат будет определяться теку­щим состоянием свойства Font компонента Memo, а не тем, в каком формате ранее вводился текст.

Компонент RichEdit работает с текстом в обогащенном формате RTF. При же­лании изменить атрибуты вновь вводимого фрагмента текста вы можете задать свойство Sel Attributes. Это свойство типа TText Attributes. Например, введите на форму компонент RichEdit, диалог выбора шрифта FontDialog и кнопку Button, которая позволит пользо­вателю менять атрибуты текста. В обработчик щелчка кнопки можно вве­сти текст:

if FontDialogl.Execute then

RichEditl.SelAttributes.Assign(FontDialogl.Font); RichEditl.SetFocus;

Запустите приложение и увидите, что вы можете менять атрибуты текста, вы­полняя отдельные фрагменты различными шрифтами, размерами, цветами, сти­лями. Устанавливаемые атрибуты влияют на выделенный текст или, если ничего не выделено, то на атрибуты нового текста, вводимого начиная с текущей позиции курсора (позиция курсора определяется свойством SelStart).

Мы рассмотрели основные отличия Memo и RichEdit. Теперь остановимся на общих свойствах этих окон редактирования.

Свойство ScrollBars определяет наличие полос прокрутки текста в окне. По умолчанию ScrollBars = ssNone, что означает их отсутствие. Пользователь может в этом случае перемещаться по тексту только с помощью курсора. Можно задать свойству ScrollBars значения ssHorizontal, ssVertical или ssBoth, что будет соот­ветственно означать наличие горизонтальной, вертикальной или обеих полос про­крутки.

Основное свойство окон Memo и RichEdit — Lines, содержащее текст окна в виде списка строк и имеющее тип TStrings. Начальное значение текста можно установить в процессе проектирования, нажав кнопку с многоточием около свойст­ва Lines в окне Инспектора Объектов. Перед вами откроется окно редактирования списков строк. Вы можете редактировать или вводить текст непосредственно в этом окне, или нажать кнопку CodeEdiior и работать в обычном окне Редактора Кода. В этом случае, завершив работу с текстом, выбери­те из контекстного меню, всплывающего при щелчке правой кнопкой мыши, команду Close Page и ответьте утвердительно на вопрос, хотите ли вы сохранить текст в соответствующем свойстве окна редактирования.

Во время выполнения приложения вы можете заносить текст в окно редакти­рования с помощью методов свойства Lines типа TStrings.

Весь текст, представленный одной строкой типа String, внутри которой испо­льзуются разделители типа символов возврата каретки и перевода строки, содер­жится в свойстве Text.

Доступ к отдельной строке текста вы можете получить с помощью свойства Strings[Index: Integer]. Индексы, как и везде в Delphi, начинаются с 0. Так что Ме-mol.Lines.Strings[0] — это текст первой строки.

Свойство только для чтения Count указывает число строк в тексте.

Для очистки текста в окне надо выполнить процедуру Clear. Этот метод отно­сится к самому окну, а не к его свойству Lines.

Для занесения новой строки в конец текста окна редактирования можно вос­пользоваться методами Add или Append свойства Lines. Для загрузки текста из файла применяется метод LoadFromFile. Сохранение текста в фале осуществляет­ся методом SaveToFile.

Свойство CaretPos указы­вает на запись, поле X которой содержит индекс символа в строке, перед которым расположен курсор, а поле Y — индекс строки, в которой находится курсор. Таким образом, учитывая, что индексы начинаются с 0, значения Memol.CaretPos.Y+1 и Memol.Caret-Pos.X+1 определяют соответственно номер строки и символа в ней, перед которым расположен курсор.

 




Поделиться с друзьями:


Дата добавления: 2015-03-29; Просмотров: 726; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.