Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания по ПР ПМ0_Копец1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.37 Mб
Скачать

Контрольные вопросы

  1. На какой странице располагается компонент MainMenu?

  2. Назовите основные свойства компонента MainMenu.

  3. Для чего перед названием пункта меню ставится символ &?

  4. Как ввести разделитель между пунктами меню?

  5. Как производится вставка пунктов меню?

  6. Как произвести перемещение пунктов меню?

  7. Как создать подменю?

  8. Как добавить сочетание горячих клавиш?

  9. Для чего служит свойство WordWrap?

Практическая работа №19

Тема: «Использование стандартных диалогов в приложении».

Цель работы: Научиться использовать выпадающее меню в приложениях.

Время выполнения: подготовка – 5 мин; выполнение – 255 мин.; проверка – 10 мин; всего – 270 мин.

Теоретические сведения Стандартные диалоги и их фрагменты

Компонент

Описание

OpenDialog «Открыть файл»

Предназначен для создания окна диалога «Открыть файл».

SaveDialog «Сохранить файл»

Предназначен для создания окна диалога «Сохранить файл как».

OpenPictureDialog «Открыть рисунок»

Предназначен для создания окна диалога «Открыть рисунок», открывающего графический файл.

SavePictureDialog «Сохранить рисунок»

Предназначен для создания окна диалога «Сохранить рисунок» — сохранение изображения в графическом файле.

FontDialog «Шрифты»

Предназначен для создания окна диалога «Шрифты» — выбор атрибутов шрифта.

ColorDialog «Цвет»

Предназначен для создания окна диалога «Цвет» — выбор цвета.

PrintDialog «Печать»

Предназначен для создания окна диалога «Печать».

PrinterSetupDialog «Установка принтера»

Предназначен для создания окна диалога «Установка принтера».

FindDialog «Найти»

Предназначен для создания окна диалога «Найти» — контекстный поиск в тексте.

ReplaceDialog «Заменить»

Предназначен для создания окна диалога «Заменить» — контекстная замена фрагментов текста.

Windows располагает целым набором стандартных диалогов, которые могут использоваться любым приложением. В распоряжение программиста среда предоставляет компоненты, соответствующие этим диалогам; найти их можно на вкладке Dialogs. Эти компоненты относятся к невизуальным.

Применить в приложении стандартное диалоговое окно можно так: поместите в форму компонент, соответствующий диалоговому окну. На форме появится только значок объекта, содержащего свойства диалога. Само окно будет создано только при работе программы в момент вызова диалога с помощью метода Execute().

На вкладке Dialogs всего восемь компонентов: шесть из них модальные, а два – FindDialog и ReplaceDialog – нет. Метод Execute() для этих диалогов создает окно и сразу же возвращает управление программе. Окно продолжает существовать, пока его не закроет пользователь. При необходимости произвести поиск или замену в тексте, вызываются обработчики событий данных компонентов.

Для обеспечения возможности использования в приложении стандартных диалогов Windows открытия и сохранения файлов нужно поместить в форму компоненты OpenDialog и SaveDialog (страница Dialogs палитры компонентов). Основными свойствами классов TOpenDialog и TSaveDialog являются:

Filter - список названий и масок шаблонов для выводимого списка файлов текущего каталога, например: Все файлы (*.*)|*.*),

Options - параметры настройки стандартного диалога:

1) ofHideReadOnly – скрыть выключатель «только чтение»,

2) ofOverwritePrompt – выдать запрос на подтверждение попытки перезаписать существующий файл,

3) ofPathMustExist и ofFileMustExist – выдать сообщение об ошибке при попытке ввести имя несуществующего каталога или файла,

4) ofNoReadOnlyReturn – выдать сообщение об ошибке при попытке сохранить файл на защищенном от записи устройстве,

5) и др.

FileName - строка с полным именем выбранного пользователем файла (перед отображением диалога значение этого свойства используется для инициализации текстового редактора с именем файла).

Для модального выполнения стандартного диалога в классе TCommonDialog предназначен метод

bool Execute(); /* возвращает значение true, если пользователь ввел имя файла, и false, если он отказался от ввода */

Метода нужно поместить в обработчике события onclick соответствующей команды меню (например, «Открыть» или «Сохранить как»). Глобальная функция

AnsiString ExtractFileName(AnsiString);

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

Пример использования: if ( OpenPictureDialog1->Execute() ) { Image1->Picture->LoadFromFile( OpenPictureDialog1->FileName ); }

Пример использования: if ( SavePictureDialog1->Execute() ) { Image1->Picture->SaveToFile( SavePictureDialog1->FileName ); } Пример использования: if( OpenDialog1->Execute() ) { Memo1->Lines->LoadFromFile( OpenDialog1->FileName ); }

Пример использования: if( SaveDialog1->Execute() ) { Memo1->Lines->SaveToFile( OpenDialog1->FileName ); }

Основной метод, которым производится обращение к любому диалогу, — Execute. Эта функция открывает диалоговое окно и, если пользователь произвел в нем какой-то выбор, то функция возвращает true. При этом в свойствах компонента-диалога запоминается выбор пользователя, который можно прочитать и использовать в дальнейших операциях. Если же пользователь в диалоге нажал кнопку Отмена или клавишу Esc, то функция Execute возвращает false.