Кент Рейсдорф. 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 панели инструментов и найдите нужный файл (вы должны были сохранить его под именем Mul­tiple).

Web-дизайн (с) 2010 All rights reserved