Кент Рейсдорф. BORLAND C++BUILDER. Раздел 2
Кент Рейсдорф. BORLAND C++BUILDER. Страница 148
Обычно определения для всех диалоговых окон приложения содержатся в едином файле сценария ресурсов, который имеет расширение .RC. В процессе создания программы сценарий ресурсов компилируется в .RES-файл (двоичный файл ресурсов), который затем компонуется с исполняемым файлом. Во время выполнения программы диалоговое окно отображается модально или немодально, в зависимости от его назначения. При вызове диалогового окна Windows загружает соответствующий ресурс из исполняемого файла, строит окно и отображает его на экране.
Теперь, зная основные принципы поддержки диалоговых окон в традиционных Windows-программах, давайте рассмотрим диалоговые окна C+4-Builder.
Диалоговые окна в C++Builder
В C++Builder диалоговое окно является просто разновидностью формы. Вы создаете это окно так же, как и форму для главного окна или любую другую форму. Чтобы зафиксировать размер диалогового окна, вы можете изменить значение свойства BorderStyle на bsDialog или bsSingle. При использовании bsDialog ваше окно будет содержать в строке заголовка только кнопку закрытия, что традиционно принято для диалоговых окон. Кроме этого, вам не нужно предпринимать никаких специальных действий для того, чтобы форма вела себя как диалоговое окно. Все формы C++Builder имеют встроенную поддержку управления клавишей Tab. Вы можете установить порядок переключения с помощью свойств TabOrder отдельных элементов управления, расположенных в диалоговом окне.
Диалоговое окно C++Builder (так же, как и любая форма) может быть модальным или немодальным. Для отображения модального окна нужно вызвать метод ShowModal() класса TForm. Чтобы создать немодальное диалоговое окно, используется метод Show().
Давайте добавим окно About к ранее созданному проекту со многими формами. Если этот проект сейчас не открыт, выберите в главном меню пункт File | Open или щелкните на кнопке Open Project панели инструментов и найдите нужный файл (вы должны были сохранить его под именем Multiple).