Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Delphi_10.doc
Скачиваний:
10
Добавлен:
23.12.2018
Размер:
1.5 Mб
Скачать

16. Управление программой с помощью компонентов закладки dialogs

Цель работы: Изучить основные свойства и методы компонентов закладки Dialogs

Постановка задачи: Написать простейший текстовый редактор; изменение шрифта, цвета, поиск в документе и печать обеспечивают соответствующие компоненты вкладки Dialogs (исходные данные использовать из таблицы 16).

Рекомендуется к использованию: компонент TRichEdit, обеспечивающий по сравнению с компонентом TMemo более широкие возможности для ввода, редактирования и сохранения текстовых документов.

Таблица 16

Исходные данные

Вариант

Используемые компоненты

1

TOpendialog,TSaveDialog,TFontDialog,TColorDialog

2

TOpendialog,TSaveDialog,TFontDialog,TFindDialog

3

TOpendialog,TSaveDialog,TColorDialog,TFindDialog

4

TOpendialog,TSaveDialog,TPrintDialog,TFindDialog

5

TOpendialog,TSaveDialog,TPrintDialog,TColorDialog

6

TOpendialog,TSaveDialog,TPrintDialog,TFontDialog

7

TOpendialog,TSaveDialog,TFontDialog,TFindDialog

8

TOpendialog,TSaveDialog,TColorDialog,TFindDialog

9

TOpendialog,TSaveDialog,TPrintDialog,TColorDialog

10

TOpendialog,TSaveDialog,TFontDialog,TColorDialog

Простейшая реализация формы:

Дополнительно рекомендуется:

Использование компонентов ToolBar, StatusBar для более удобной организации интерфейса программы.

Компонент OpenDialog — диалог «Открыть файл» и SaveDialog — диалог «Сохранить файл как

Все свойства этих компонентов одинаковы, только их смысл несколько различен для открытия и закрытия файлов. Основное свойство, в котором возвращается в виде строки выбранный пользователем файл, — FileName.

Типы искомых файлов, появляющиеся в диалоге в выпадающем списке "Тип файла", задаются свойством Filter. В процессе проектирования это свойство проще всего задать с помощью редактора фильтров, который вызывается нажатием кнопки с многоточием около имени этого свойства в Инспекторе Объектов. При этом открывается окно редактора. В его левой панели "Filter Name" вы записываете тот текст, который увидит пользователь в выпадающем списке "Тип файла" диалога. А в правой панели "Filter" записываются разделенные точками с запятой шаблоны фильтра. После выхода из окна редактирования фильтров заданные вами шаблоны появятся в свойстве Filter в виде строки вида:

текстовые (*.txt, *.doc)|*.txt; *.doc|все файлы|*.*

В этой строке тексты и шаблоны разделяются вертикальными линиями. В аналогичном виде, если требуется, можно задавать свойство Filter программно во время выполнения приложения.

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

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

Свойство DefaultExt определяет значение расширения файла по умолчанию

Свойство Title позволяет вам задать заголовок диалогового окна.

Компонент FontDialog вызывает диалоговое окно выбора атрибутов шрифта. В нем пользователь может выбрать имя шрифта, его стиль (начертание), размер и другие атрибуты.

Основное свойство компонента — Font типа TFont, в котором вы можете задать при желании начальные установки атрибутов шрифта и в котором вы можете прочесть значения атрибутов, выбранные пользователем в процессе диалога.

Свойства MaxFontSize и MinFontSize устанавливают ограничения на максимальный и минимальный размеры шрифта.

Компонент ColorDialog вызывает диалоговое окно выбора цвета. В нем пользователь может выбрать цвет из базовой палитры или, нажав кнопку "Определить цвет", раскрыть дополнительную панель позволяющую синтезировать цвет, отличный от базовых.

Основное свойство компонента ColorDialogColor. Это свойство соответствует тому цвету, который выбрал в диалоге пользователь. Если при вызове диалога желательно установить некоторое начальное приближение цвета, это можно сделать, установив Color предварительно во время проектирования или программно. Свойство CustomColors типа TStrings позволяет задать заказные цвета дополнительной палитры. Каждый цвет определяется строкой вида

<Имя цвета>=<шестнадцатеричное представление цвета>;

Имена цветов задаются от ColorA (первый цвет) до ColorP (шестнадцатый, последний). Например, строка ColorA=808022

задает первый заказной цвет. При задании цвета 2 младших разряда описывают интенсивность красного цвета, следующие 2 — зеленого, старшие — синего.

ToolBar – инструментальная панель.

Если вы поместите компонент ToolBar на форму, то по умолчанию он расположится вверху, поскольку его свойство Align по умолчанию равно alTop. Если вы хотите, чтобы панель располагалась иначе, установите Align = alNone, после чего можете придать панели любую форму и расположить ее в любом месте.

Занесение компонентов на панель ToolBar можно, в принципе, осуществлять обычным способом — переносом их из палитры компонентов. Но для занесения кнопок имеется и более простой вариант. Щелкните на ToolBar правой кнопкой мыши и выберите из всплывшего меню команду "New Button". На форме появится очередная кнопка — объект типа TToolButton. Это не совсем обычная кнопка, так как в дальнейшем вы увидите, что внешне она может не походить на кнопку. Ее вид и поведение определяется ее свойством Style, которое по умолчанию равно tbsButton — кнопка. Другие возможные стили мы рассмотрим позднее. А как кнопка этот объект очень похож на кнопку SpeedButton. Только изображение на кнопке определяется свойством ImageIndex. Свойство MenuItem позволяет задать раздел главного или контекстного, который дублируется данной кнопкой. При установке этого свойства, если в соответствующем разделе меню было задано изображение и установлен текст подсказок (свойство Hint), то это же изображение появится на кнопке и тот же текст появится в свойстве Hint кнопки. Передадутся из раздела меню в кнопку также значения свойств Enabled (доступность) и Visible (видимость). Правда, все это передастся в кнопку только в момент установки свойства MenuItem. Если в процессе дальнейшего проектирования вы измените, соответствующие свойства раздела меню, это не отразится на свойствах кнопки. Но если вы сотрете значение MenuItem, а потом установите его снова, то в кнопке зафиксируются новые значения свойств раздела меню.

Из общих свойств компонента ToolBar следует еще отметить ButtonHeight и ButtonWidth — высота и ширина кнопок в пикселях, и Wrapable — автоматический перенос кнопок в следующий ряд панели, если они не помещаются в предыдущем. Такой перенос осуществляется и во время проектирования, и во время выполнения при изменении пользователем размеров панели.

Свойства, определяющие вид панели ToolBar: BorderWidth — ширина бордюра, EdgeInner и EdgeOuter — стиль изображения внутренней и внешней части панели (утопленный или выступающий), EdgeBorders — определяет изображение отдельных сторон панели (левой, правой, верхней, нижней).

Компонент StatusBar представляет собой ряд панелей, отображающих полосу состояния в стиле Windows. Обычно эта полоса размещается внизу формы.

Свойство SimplePanel определяет, включает ли полоса состояния одну или множество панелей. Если SimplePanel = true, то вся полоса состояния представляет собой единственную панель, текст которой задается свойством SimpleText. Если же SimplePanel = false, то полоса состояния является набором панелей, задаваемых свойством Panels. В этом случае свойство SizeGrip определяет, может ли пользователь изменять размеры панелей в процессе выполнения приложения.

Каждая панель полосы состояния является объектом типа TStatusPanels. Свойства панелей вы можете задавать специальным редактором наборов. Вызвать редактор можно тремя способами: из Инспектора Объектов кнопкой с многоточием около свойства Panels, двойным щелчком на компоненте StatusBar или из контекстного меню, выбрав команду "Panels Editor". В окне редактора вы можете перемещаться по панелям, добавлять новые или уничтожать существующие. При перемещении по панелям в окне Инспектора Объектов вы будете видеть их свойства.

Основное свойство каждой панели — Text, в который заносится отображаемый в панели текст. Его можно занести в процессе проектирования, а затем можно изменять программно во время выполнения. Другое существенное свойство панели — Width (ширина).

Содержание отчета: Задание, листинг программы, результат работы программы.