Работа с компонентом RichEdit

Компонент для редактирования многострочных данных RichEdit (страница Win32 Палитры компонентов) предоставляют пользователю возможность просмотра и изменения текстовой информации с поддержкой форматирования. Он позволяет работать с текстовыми данными в формате RTF, принятым в операционной системе Windows за основу в обмене текстовой информацией между приложениями.

Компоненты RichEdit и Memo имеют много общих свойств и методов.

Свойства:

· Alignment – выравнивания текста, может принимать значения:

¨ taCenter – выравнивание по центру;

¨ taLeftJustify – выравнивание по левому краю;

¨ taRightJustify – выравнивание по правому краю.

В компоненте RichEdit выравнивание текста может задаваться еще и для каждого абзаца индивидуально, поэтому не рекомендуется использование это свойство, поскольку теряется форматирование, специфичное для каждого абзаца;

· CanUndo – определить, готов ли компонент произвести отмену действий, во время выполнения программы;

· Font – установка шрифта. Характеристики шрифта в компоненте RichEdit могут быть установлены для каждого символа в отдельности, свойство Font для этого не используется;

· MaxLength – максимальная длина вводимого в компонент текста;

· Lines – массив строк в редакторе;

· ReadOnly – запрет на изменение информации в компоненте;

· WantTabs – указывают, может ли пользователь вводить в качестве текстовой информации символы табуляции. Если свойство WantTabs имеет значение False, то при нажатии пользователем во время редактирования текста клавиши Tab это действие будет рассматриваться системой как попытка переключения фокуса ввода между оконными компонентами данной формы. При значении True свойства WantTabs нажатие клавиши Tab приведет к вставке символа табуляции в текст;

· WantReturns – указывают, может ли пользователь вводить в качестве текстовой информации символы перевода строки. Если свойство WantReturns имеет значение False, то нажатие пользователем клавиши Enter будет игнорироваться, иначе в многострочном редакторе будет появляться новая строка.

· WordWrap – указывает на необходимость автоматического разбиения текста на строки с учетом ширины компонента.

Методы:

· SaveToFile и LoadFromFile – сохранение и загрузка файла. У компонента RichEdit, в отличие от компонента Memo, эти методы используют формат RTF;

· Undo – отмена действия.

Использование форматирования.Параметры отображения текста в компоненте RichEdit устанавливаются двумя способами – для текущего абзаца и для текущего выделения. Абзацем называется одна строка текста с точки зрения её внутреннего представления, т. е. строка, не разделённая символами перевода строки. При этом на экране абзац может отображаться в несколько строк. Выделение может включать в себя целый абзац, его часть, несколько абзацев и вообще весь документ.

Доступ к атрибутам абзаца осуществляется через свойство Paragraph, имеющее свойства:

· Alignment – аналогично свойству Alignment самого компонента, однако применяется только к текущему абзацу;

· FirstIndent – смещение первой строки абзаца относительно левого края компонента;

· LeftIndent – смещение абзаца относительно его первой строки для организации "красных" строк;

· RightIndent – расстояние от правой части компонента до правой части абзаца;

· Numbering – указывает, является ли данный абзац элементом в списке (nsBullet) или обычным абзацем (nsNone). Список состоит из нескольких абзацев, помеченных у левой границы специальным символом.

Свойство SelAttributes определяет настройки шрифта и применяется к выделенному фрагменту текста. Выделение фрагмента текста устанавливается пользователем с помощью мыши или клавиатуры. SelAttributes имеет ряд свойств:

· Charset – множество символов шрифта;

· Color – цвет текста;

· Height – высота шрифта в пикселях;

· Name – шрифт;

· Protected – определяет, является ли текст защищённым от изменений;

· Size – размер шрифта в кеглях;

· Style – стиль шрифта:

¨ fsBold – полужирный;

¨ fsItalic – курсивный;

¨ fsUnderline – подчеркнутый;

fsStrikeOut – перечеркнутый.

 

3. ОБЪЕКТЫ ИССЛЕДОВАНИЯ, ОБОРУДОВАНИЕ, МАТЕРИАЛЫ И НАГЛЯДНЫЕ ПОСОБИЯ

3.1. IBM – совместимый компьютер.

3.2. Установленная операционная система Windows.

3.3. Установленное приложение Borland Delphi.

3.4. Справочная система приложения Borland Delphi.

 

4. ЗАДАНИЕ НА РАБОТУ

4.1. Изучение теоретические положения работы по программированию в среде Borland Delphi.

4.2. Выполнение индивидуального задания преподавателя по программированию в пределах вопросов, рассмотренных в данной лабораторной работе.

 

5. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

5.1. Ознакомиться с теоретическими положениями данной лабораторной работы.

5.2. Выполнить индивидуальное задание преподавателя по программированию.

Задание 1

20. Запустите Delphi. Создайте новый проект.

21. Назовите форму MainForm с заголовком Главная. Для формы задайте:

· размер – 800х600;

· минимальный размер – 400х300;

· максимальный размер – 1000х800.

22. Сохраните проект в папку D:\Users\...\Lab7\....

23. На форме создайте:

a. первую панель высотой 50, сделайте, чтобы она выравнивалась по верхнему краю;

b. разделитель высотой 10, сделайте, чтобы он выравнивался по верхнему краю;

c. вторую панель высотой 50, сделайте, чтобы она выравнивалась по нижнему краю;

d. разделитель высотой 10, сделайте, чтобы он выравнивался по нижнему краю;

e. многострочный редактор, назовите его MMemo, сделайте, чтобы он занимал всю оставшуюся фору.

24. Создайте на форме главное меню с пунктами Ввод данных, О программе и Закрыть.

25. Сделайте так, чтобы при выборе меню Закрыть окно закрывалось, задайте для данного меню комбинацию клавиш Ctrl+E.

26. На первой панели по центру создайте надписьИнформация. Измените размер и цвет надписи.

27. Создайте вторую форму размером 400х600. Назовите форму PersonForm с заголовком Персональные данные.

28. На форме Персональные данные создайте:

a. первую панель высотой 100, сделайте, чтобы она выравнивалась по нижнему краю;

b. разделитель шириной 10, сделайте, чтобы он выравнивался по нижнему краю;

c. вторую панель, измените её цвет и сделайте, чтобы она занимал всю оставшуюся фору.

29. На второй панели создайте:

a. три пустых однострочных редактора. Для них создайте заголовки Фамилия, Имя и Отчество;

b. комбинированный список с раскрывающим списком, содержащий название нескольких город. По умолчанию должен быть выбран первый элемент списка. Для списка создайте заголовок Место рождения.

c. поле с маской ввода для ввода даты вида: хх.хх.хххх. Для поля создайте заголовок Дата рождения.

30. На первой панели создайте:

a. графическую кнопку с предопределённым видом Close;

b. кнопки Очистить и Добавить.

31. При нажатие кнопки Очистить поля для ввода данных на форме Персональные данные должны очищаться, для этого в процедуру обработки для кнопки введите код:

 

Edit1.Clear;

Edit2.Clear;

ComboBox1.ItemIndex := 0;

(допишите)

 

32. При нажатие кнопки Добавить данные из формы Персональные данные должна добавляться в редакторе на форме Главная, для этого в процедуре обработки для кнопки введите код:

 

Inf := Edit1.Text + ' ' + Edit2.Text + ' ' + Edit3.Text + ' родился (ась) в г. ' + ComboBox1.Text + ' ' + MaskEdit1.Text + ' года';

MainForm.MMemo.Lines.Add(Inf);

 

33. Создайте третью форму размером 400х400. Назовите форму AboutForm с заголовком О программе.

34. На форме напишите своё Ф.И.О., группу, № лабораторной работы, год.

35. На форме создайте графическую кнопку с рисунком, при нажатии на которую форма бы закрывалась.

36. На форме Главная сделайте, чтобы при выборе меню:

a. Ввод данныхоткрывалась форма Персональные данные;

b. О программеоткрывалась форма О программе.

37. На форме Главная на второй панели:

a. создайте 5 кнопок с заголовками Очистить, Выделить всё,Копировать,ВырезатьиВставить;

b. для кнопок создайте подсказки: "Очистить редактор", "Выделить всё в редакторе", "Копировать в буфер", "Вырезать в буфер" и "Вставить из буфера";

c. запрограммируйте кнопки, чтобы они выполняли соответствующие действия.

38. Сохраните и запустите проект на выполнение.

39. Закройте Delphi.

 

Задание 2

1. Запустите Delphi. Создайте новый проект.

2. Назовите форму MainForm с заголовком Главная.

3. Сохраните проект в папку D:\Users\...\Lab10\....

4. На форме создайте:

- панель инструментов ControlBar (страница Additional Палитры компонентов) высотой 60, сделайте, чтобы она выравнивалась по верхнему краю;

- панель высотой 50, сделайте, чтобы она выравнивалась по нижнему краю;

- многострочный редактор RichEdit, сделайте, чтобы он занимал всю оставшуюся фору.

5. На панели инструментов создайте:

- панель высотой размером 450х48, назовите её fPanel;

- панель высотой размером 500х48, назовите её pPanel;

- кнопку с заголовком О программе.

6. На панели fPanel:

- создайте надпись Размер шрифта;

- рядом с надписью создайте комбинированный список размером 42´21, назовите его fsComboBox;

- в комбинированный список введите значения 8, 10,12, 14, 16, 18, 20, 24, 28, 32. Сделайте, чтобы по умолчанию было значение 10;

- сделаем, чтобы при выборе значения из списка, выделенный текст принимал соответствующий размер. Для этого в процедуру обработки события onChange комбинированного списка введите код:

 

RichEdit1.SelAttributes.Size := StrToInt (fsComboBox.Text);

 

- создайте надпись Цвет шрифта;

- рядом с надписью создайте комбинированный список размером 80х21, назовите его fcComboBox;

- в комбинированный список введите названия нескольких цветов. Сделайте, чтобы по умолчанию был выбран чёрный цвет;

- сделайте, чтобы при выборе значения из списка, выделенный текст принимал соответствующий цвет;

- создайте четыре кнопки быстрого доступа размером 20х20, с заголовками Ж, К, П, З, назовите их butBolt, butItalic, butUnderline, butStrikeOut;

- для кнопок создайте подсказки "Полужирный", "Курсивный", "Подчеркнутый", "Перечеркнутый";

- запрограммируем кнопку butBolt, чтобы при её нажатии выделенный текст становился полужирным, если таким не был, а если был, то отменялось, для этого в процедуру обработки для кнопки введите код:

if (fsBold in RichEdit1.SelAttributes.Style) then

RichEdit1.SelAttributes.Style :=

RichEdit1.SelAttributes.Style-[fsBold]

else

RichEdit1.SelAttributes.Style := RichEdit1.SelAttributes.Style+[fsBold];

- аналогично запрограммируйте кнопки butItalic, butUnderline и butStrikeOut.

7. На панели pPanel:

- создайте надпись Отступ слева;

- рядом с надписью создайте счётчик SpinEdit размером 40х22, назовите его lpSpinEdit;

- сделаем, чтобы при изменении счётчика соответствующе изменялось смещение абзаца слева, для этого в процедуру обработки события onChange счётчика введите код:

 

RichEdit1.Paragraph.FirstIndent := lpSpinEdit.Value;

 

- аналогично сделайте для создания отступа справа и красной строки;

- создайте кнопку с заголовком Список. Запрограммируйте кнопку, чтобы при её нажатии абзац становился списком, а список – обычным абзацем.

8. На нижней панели:

- создайте 6 кнопок с заголовками Отмена, Очистить, Выделить всё, Копировать, Вставить, Закрыть;

- для кнопок создайте подсказки "Отмена последнего действия", "Очистить редактор", "Выделить всё в редакторе", "Копировать в буфер", "Вставить из буфера" и "Закрыть программу", соответственно;

- запрограммируйте кнопки, чтобы они выполняли соответствующие действия.

9. Создайте вторую форму размером 400х400. Назовите форму AboutForm с заголовком О программе. На форме:

- напишите своё Ф.И.О., группу, № лабораторной работы, год. Измените цвет и размер шрифта;

- создайте графическую кнопку с предопределённым видом Close.

10. На форме Главная сделайте, чтобы при нажатии на кнопку О программеоткрывалась соответствующая форма.

11. Сохраните и запустите проект на выполнение.

Закройте Delphi.

 

5.3. Оформить отчет по работе.

5.4. Защитить лабораторную работу путем ответа на вопросы преподавателя.

 

6. СОДЕРЖАНИЕ ОТЧЕТА

6.1. Описание цели работы.

6.2. Основные теоретические положения работы

6.3. Содержание индивидуального задания преподавателя по программированию.

6.4. Описание методики выполнения индивидуального задания.

 

7. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

7.1. Delphi 7 : [наиболее полное руководство] / А. Д. Хомоненко [и др.];под общ.ред.А.Д.Хомоненко .— СПб. : БХВ - Петербург, 2007 .— 1216с. : ил. (7 экз.)

7.2. Программирование в Delphi 7 / П. Г. Дарахвелидзе, Е. П.Марков .— СПб.: БХВ -Петербург, 2004 .— 784c. : ил. (1 экз.)

7.3. Осипов Д. Delphi. Профессиональное программирование. - СПб.: Символ-Плюс, 2006. -1056 с., ил.


Министерство образования и науки Российской Федерации

 

 

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Тульский государственный университет»

 

 

Политехнический институт

Кафедра «Сварка, литье и технология конструкционных материалов»

 

 








Дата добавления: 2015-03-19; просмотров: 5648;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.035 сек.