
C++Builder. Учебный курс
.pdf4.4.6. Свойство ModalResult
Свойство M o d a lR e s u lt используется для закрытия форм, отображаемых методом ShowM odal.
По умолчанию M o d a lR e s u lt имеет значение mrNone (ко
торое определено как константа со значением 0). Это значение ис пользуется для обычных кнопок на форме, которые не должны ее закрывать.
При любом другом значении свойства M o d a lR e su lt нажа тие на эту кнопку приведет к закрытию формы и возврату значе ния M o d a lR e s u lt. Например, если поместить на форму кнопку и
установить для свойства M o d a lR e s u lt значение mrOk, то при
нажатии этой кнопки форма будет закрыта, a ShowModal возвра тит значение mrOk. Это можно использовать следующим образом:
int |
r e s u l t |
= Form2->ShowModal() ; |
|
if |
( r e s u l t |
== |
mrOk) C a lc O ; |
if |
( r e s u l t |
== |
m rC ancel) return; |
Возможные значения свойства M o d a lR e su lt можно по
смотреть в инспекторе объектов.
Если форма закрывается щелчком на системной кнопке за
крытия окна или нажатием A lt+ F 4 , |
то метод ShowModal воз |
||
вращает значение m rC a n c e l. |
|
|
|
Пример 4.5 |
|
|
|
Пример |
демонстрирует |
использование |
свойства |
M o d a lR e s u lt в приложениях.
—Создайте приложение с двумя окнами, одно из которых яв ляется диалоговым (рис. 4.14).
—Обратите внимание, что при изменении свойства K ind кно пок T B itB tn будут также изменены свойства G lyph, C an cel, D e f a u l t ,C a p t i o n и M o d a lR e s u lt.

6. Назначение свойства C an cel кнопок T B utton и
T B itB tn .
7. Назначение свойства M o d a lR e s u lt кнопок T B u tto n и
T B itB tn .
8.Какие кнопки являются кнопками по умолчанию?
9.Как создать радиокнопки?
10.Как создать кнопку-переключатель?
Упражнения
1. Создайте в программе радиокнопки, предназначенные, на
пример, для выравнивания текста |
= |
—. Программа должна |
только обеспечивать переключение кнопок. |
||
2. Создайте в программе несколько |
кнопок, которые будут |
играть роль переключателей, предназначенные, например, для из-
[ж| I к I ГчI
менения стиля шрифта1—11—11— 1 Программа должна обеспечи вать только создание кнопок-переключателей.
4.5.Диалоговые компоненты
Всостав Windows входит ряд типовых диалоговых окон, та ких как окно выбора загружаемого файла, окно выбора шрифта, окно для настройки принтера и т.д.
Работа со стандартными диалоговыми окнами осуществляется
втри этапа.
-Вначале на форму помещается соответствующий компонент и осуществляется настройка его свойств (следует заметить, что собственно компонент-диалог не виден в момент работы програм мы, видно лишь создаваемое им стандартное окно). Настройка свойств может проходить как на этапе конструирования, так и в ходе выполнения программы. Как и для любых других компонен тов, программист не должен заботиться о вызове конструктора и деструктора диалога. Эти вызовы реализуются автоматически в момент старта и завершения программы.
-Н а втором этапе осуществляется вызов стандартного для
диалогов метода E x e c u te , который создает и показывает на экра не диалоговое окно. Вызов этого метода обычно располагается внутри обработчика какого-либо события. Например, обработчик
выбора опции меню «О ткрыть |
файл» может вызвать метод |
E x e c u te диалога T O p en D ia lo g , |
обработчик нажатия инстру |
ментальной кнопки «С охран и ть» может вызвать такой же метод у компонента T S a v e D ia lo g и т.д. Только после обращения к ме тоду E x e c u te на экране появляется соответствующее диалоговое окно. Окно диалога является модальным окном, поэтому сразу по сле обращения к E x e c u te дальнейшее выполнение программы приостанавливается до тех пор, пока пользователь не закроет окно. Поскольку E x e c u te - логическая функция, она возвращает в про грамму t r u e , если результат диалога с пользователем был успеш ным.
-Проанализировав результат E x e c u te , программа может выполнить третий этап - использование введенных с помощью
диалогового окна данных (имени файла, настроек принтера, вы бранного шрифта и т.д.).
Все |
диалоговые компоненты расположены на странице |
D ia lo g s |
палитры компонентов. |
|
4.5.1. Компонент TOpenDialog и TSaveDialog |
Компонент T O p en D ia lo g предназначен для поддержки опе рации открытия файлов. При использовании этого компонента вы зывается стандартное диалоговое окно (рис. 4.15). Компонент
T S a v e D ia lo g используется для указания пользователем имени
файла, предназначенного |
для сохранения. |
Компоненты T O pen |
D ia lo g и T S a v e D ia lo g |
имеют общие |
свойства, основные из |
которых перечислены ниже. |
|




3.Основные свойства компонента TFontDialog.
4.Основные свойства компонента TColorDialog.
5.Какой метод диалоговых компонентов является основным?
Упражнения
1.Написать программу для просмотра текстовых файлов.
2.Написать программу, которая в диалоговом режиме изме няет шрифт компонента.
3.Написать программу, которая в диалоговом режиме изме няет цвет шрифта и цвет фона компонента.
4.6.Меню, индикаторы, радиокнопки, компоненты выбора из списков, панели
Вэтом разделе рассмотрены основные принципы работы со следующими компонентами:
- компоненты меню (TM ainM enu, |
TPopupM enu); |
- индикаторы (T C heckB ox, T C h eckL istB ox); |
|
- радиокнопки (T R a d io B u tto n , |
T R adioG roup); |
- |
компоненты выбора из списков (T L istB o x , TComboBox); |
- |
панели ( T P a n e l, TGroupBox). |
4.6.1.Компоненты для создания меню
ВC++Builder имеется два компонента, представляющие ме ню: TM ainM enu - главное меню и TPopupM enu - контекстное меню. Оба компонента расположены на странице S ta n d a rd . Это невизуальные компоненты, т.е. место их размещения на форме в процессе проектирования не имеет никакого значения для пользо вателя.
Сразработкой главного меню приложения вы познакомились при программировании текстового редактора. В этом разделе не
обходимо познакомиться с использованием компонента
TPopupM enu.
Компонент TM ainM enu позволяет конструировать и созда вать полосу главного меню формы и выпадающие меню. Компо нент невизуальный.
Каждый пункт меню, в свою очередь, является компонентом T M enuItem . Обратите внимание, что компонент TM ainM enu
имеет очень мало свойств и одно событие O nC hange. Дело в том, что работа меню полностью определяется компонентами TM enu
Ite m .
Для создания главного меню используется редактор меню, который позволяет быстро разрабатывать меню любой структуры. Для входа в редактор меню необходимо дважды щелкнуть левой кнопкой мыши по компоненту TM ainM enu. Редактор меню всегда оставляет пустой пункт в конце каждого всплывающего меню и справа от строки меню. Они используются только в редакторе ме ню для ввода вновь создаваемого пункта и не отображаются при выполнении программы.
Ниже перечислены основные особенности создания меню программы:
-д л я подчеркивания символа меню необходимо перед этим символом ввести амперсанд &;
-для добавления разделителя нужно установить для свойства C a p tio n значение
-свойство S h o r t c u t используется для назначения горячих клавиш пунктам меню;
-д л я вставки пункта меню используется клавиша I n s e r t ,
для удаления - клавиша D e le te .
Рекомендация. Делайте свои меню по возможности ближе к стандартным. Используйте те же подчеркнутые символы, что и в других программах Windows. Помните также, что многоточие
в пункте меню означает, что выбор данного пункта приведет к от крытию диалогового окна.