Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Delphi_1курс лекции / Тема 13 Интерфейс пользователя.doc
Скачиваний:
62
Добавлен:
23.03.2015
Размер:
73.22 Кб
Скачать

Многооконные приложения

Чаще всего сколько-нибудь сложное приложение не может ограничиться одним окном. Поэтому, прежде всего, вам нужно решить вопрос управления окнами.

Есть две различные модели приложений: с интерфейсом одного документа (SDI) и с интерфейсом множества документов (MDI).

В большинстве случаев следует отдавать предпочтение интерфейсу SDI. Этот интерфейс не обязательно предполагает наличие действительно только одного окна, как в приложениях Windows, типа “Калькулятор”. Такое приложение, как “Проводник” Windows, также является SDI приложением, но в нужные моменты оно создает вторичные окна для поиска файлов или папок, задания параметров, просмотра свойств файлов и других целей.

С другой стороны, у приложений MDI тоже есть свои преимущества. Хороший пример такого приложения — Microsoft Word. В приложении MDI имеется родительское (первичное) окно и ряд дочерних окон (называемых также окнами документов). Бывают ситуации, когда выгодно отображать информацию в нескольких окнах, которые совместно используют элементы интерфейса (например, меню или инструментальные линейки). Окна документов управляются и ограничиваются родительским окном. Если вы уменьшаете размер родительского окна, то дочерние окна могут исчезать из поля зрения.

Случаи, когда нужно использовать модель MDI, довольно редки. Прежде всего, это следует делать только тогда, когда все дочерние окна будут содержать идентичные объекты — например, текстовые документы или электронные таблицы. Не применяйте MDI, если вы собираетесь работать в приложении с дочерними окнами разного типа (например, текстовыми документами и электронными таблицами одновременно). Не применяйте MDI, если вы хотите управлять тем, какое из дочерних окон должно находиться поверх других, используя свойство ”всегда наверху”, или если вы хотите управлять размерами окон, делать их невидимыми и т.п. Интерфейс MDI предназначен для очень узкого диапазона приложений, в которых все дочерние окна однородны (как это имеет место в Word или Excel).Приспособить его к чему-то другому не получится. Наконец, следует заметить, что Microsoft не поощряет разработку новых приложений MDI (в основном потому, что было написано слишком много плохих программ этого типа).

Стиль окон приложения

Основным элементом любого приложения является форма — контейнер, в котором размещаются другие визуальные и невизуальные компоненты. С точки зрения пользователя форма — это окно, в котором он работает с приложением. Каждой новой форме, вводимой в приложение, соответствует свой модуль (unit), описывающий эту форму как класс и включающий, если необходимо, какие-то дополнительные константы, переменные, функции и процедуры.

К внешнему виду окон в Windows предъявляются определенные требования. К счастью, Delphi автоматически обеспечивает стандартный для Windows вид окон вашего приложения. Но вам надо продумать и указать, какие кнопки в полосе системного меню должны быть доступны в том или ином окне, должно ли окно допускать изменение пользователем его размеров, каким должен быть заголовок окна. Все эти характеристики окон обеспечиваются установкой и управлением свойствами формы.

Свойства формы

BorderStyle:TFormBorderStyle.TFormBorderStyle= (bsNone,bsSingle,bsSizeable,bsDialog,bsToolWindow,bsSizeToolWin);Определяет общий вид окна и операции с ним, которые разрешается выполнять пользователю.

bsSizeableОбычный вид окнаWindowsс полосой заголовка, с возможностью для пользователя изменять размеры окна с помощью кнопок в полосе заголовка или с помощью мыши, потянув за какой-либо край окна. Это значение BorderStyle задается по умолчанию.

bsDialogНеизменяемое по размерам окно. Типичное окно диалогов.

bsSingleОкно, размер которого пользователь не может изменить, потянув курсором мыши край окна, но может менять кнопками в полосе заголовка.

bsToolWindowТо же, что bsSingle, но с полосой заголовка меньшего размера (полоса уже, только кнопка закрыть).

bsSizeToolWinТо же, что bsSizeable, но с полосой заголовка меньшего размера и с отсутствием в ней кнопок изменения размера

bsNoneБез полосы заголовка. Окно не только не допускает изменения размера, но и не позволяет переместить его по экрану.

BorderIcons:set of TBorderIcon. TBorderIcon = (biSystemMenu, biMinimize, biMaximize, biHelp) Определяет набор кнопок, которые имеются в полосе заголовка. Множество кнопок задается элементами:

biSistemMenuкнопка системного меню – эта кнопка с крестиком, закрывающая окно.

biMinimizeкнопка Свернуть, сворачивает окно до пиктограммы

biMaximize кнопка Развернуть, разворачивает окно на весь экран

biHelp кнопка справки

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