Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

План заняття. 1. Характеристика MIDI-прикладних застосувань




1. Характеристика MIDI-прикладних застосувань

2. Характеристика методів та властивостей MIDI-об’єктів

 

MDI-приложения требуют больше планирования при их созда­нии и более комплексного подхода к проектированию, чем SDI-приложения. В многодокументном приложении главное окно со­держит дочерние окна, располагаемые в его пределах.

Организация многодокументных приложений не имеет прин­ципиальных различий с созданием однодокументных приложе­ний. Отличие MDI-приложений обусловлено рядом особенностей, связанных с взаимодействием главного и дочерних окон, а также с управлением открытыми дочерними окнами.

Родительская форма служит контейнером, содержащим дочер­ние формы, которые заключены в клиентскую область и могут перемещаться, изменять размеры, минимизироваться или макси­мизироваться только в пределах родительской формы. Чтобы за­дать тип формы при проектировании приложения, необходимо установить свойство FormStyle: для родительской формы рав­ным f sMDIForm, а для дочерней формы - f sMDIChild. В при­ложении могут быть дочерние формы разных типов, например, одна - для обработки изображений, а другая - для работы с тек­стом. Для удобства программист может разработать собственный класс для дочерних форм и создавать каждую дочернюю форму из этого класса, чтобы избежать случайного сброса ее свойств.

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

Существует ряд общепринятых правил оформления главного и дочерних окон. Они не обязательны, однако их следует учитывать при создании MDI-приложений. Так, в главном окне размещаются обычно только такие элементы управления, как меню, панели ин­струментов и строка состояния. Остальная клиентская область предназначается для размещения дочерних окон. Главное окно, как правило, не содержит кнопок, надписей или переключателей, пото­му что они будут видны сквозь дочерние формы. Со своей стороны, дочерние окна не имеют панелей инструментов и строки состояния. А в том случае, если дочерняя форма включает в себя меню, то при создании данной формы ее меню автоматически сливается с меню главной формы (при этом свойство AutoMerge обоих меню имеет значение False), но при этом необходимо установить свойство Grouplndex для пунктов обоих меню, чтобы задать порядок со­вмещения пунктов. Если данное свойство имеет одинаковое значе­ние для пункта меню главной и дочерней формы, то пункт меню дочерней формы будет замещать пункт меню родительской формы. По умолчанию свойство Grouplndex для всех пунктов имеет зна­чение 0, а поэтому, если его не изменить, то в меню будут отобра­жаться только пункты меню дочерней формы, замещая собой пунк­ты меню родительской формы.

Следует упомянуть еще об одной особенности дочерних форм. При попытке закрытия дочерней формы путем нажатия кнопки за­крытия в верхнем правом углу формы, либо нажатием клавиш Ctrl+F4, либо вызовом метода Close, она на самом деле будет не закрываться, а минимизироваться. Это объясняется тем, что по умолчанию для всех дочерних окон параметр Action имеет значе­ние caMinimize. Чтобы избежать данного явления, необходимо создать собственный обработчик события OnClose для дочерней формы, в котором присвоить параметру Action значение caFree.

Нельзя также закрывать дочернее окно с помощью метода Hide, так как это вызовет исключительную ситуацію.

Объект TForm имеет несколько свойств, специфичных для MDI-приложений.

Свойство ActiveMDIChild (тип TForm) возвращает дочер­ний объект TForm, имеющий в текущий момент времени фокус ввода. Оно полезно, когда родительская форма содержит панель инструментов или меню, команды которых распространяются на открытую дочернюю форму.

Свойство MDIChildren [I: Integer J (тип TForm) пред­ставляет собой массив, содержащий список созданных дочерних форм. Окна в данном массиве нумеруются, начиная с нуля, в зави­симости от их текущего положения в родительском окне. Нумера­ция изменяется после каждого переупорядочения окон.

Свойство MDIChildCount возвращает количество элементов в массиве MDIChildren, то есть количество открытых дочерних форм. Два последних приведенных свойства обычно используются при выполнении какого-либо действия над всеми открытыми до­черними формами.

Свойство TileMode (тип TTileMode) определяет, как роди­тельская форма размещает дочерние окна при вызове метода Tile (размещение окон мозаикой, см. ниже). Свойство может принимать значения tbHorizontal (по умолчанию) и tbVertical, что оп­ределяет способ размещения форм по горизонтали и вертикали соот­ветственно.

Свойство WindowMenu используется для того, чтобы обеспе­чить возможность пользователю активизировать необходимое до­чернее окно объекта TMenuItem, который Delphi будет использо­вать для вывода списка доступных дочерних форм. Для вывода списка TMenuItem должно существовать меню верхнего уровня.

Далее рассмариваются основные методы, применяемые специ­ально для работы с MDI-формами.

Метод Arrangelcons упорядочивает пиктограммы миними­зированных дочерних форм в нижней части родительской формы. Метод Next обеспечивает переход к следующей по порядку дочерней форме.

Метод Previous дает возможность передать фокус ввода предыдущей дочерней форме.

Метод Cascade располагает дочерние формы каскадом таким образом, что видны все их заголовки (см. рис. 7.2).

Метод Tile выстраивает дочерние формы мозаикой, то есть так, что они не перекрываются (см. рис. 7.3).

Рис. 7.3. Расположение окон мозаикой

 

Для MDI-приложений свою особенность имеет событие OnActivate, которое генерируется двумя способами. Если при­ложение уже активно в текущий момент времени, то данное собы­тие возникает для окна, которое получает фокус ввода при пере ключении между дочерними окнами. Если же приложение было неактивно, то событие OnActivate возникает для главной фор­мы в момент ее активизации.

Пример 7.2. Пусть необходимо разработать простейшее многодо­кументное приложение, позволяющее создавать, открывать, про­сматривать, редактировать и сохранять текстовые файлы, а также размещать окна каскадом или мозаикой по выбору (см. рис. 7.2,7.3).

Решение. В начале проектирования данного приложения соз­даются две формы: главная и дочерняя. Основные свойства, кото­рые следует установить для этих форм, приведены в табл. 7.2.

 

На главную форму следует добавить такие компоненты: Main-Menu, OpenDialog и SaveDialog.

Пункты и подпункты главного меню (MainMenu) задаются в соответствии с табл. 7.3.

 

На дочернюю форму необходимо поместить многострочный редактор Memo. Свойству Align данного компонента присваива­ется значение alClient (т.е. редактор будет занимать всю кли­ентскую область дочерней формы).

В листинге 7.2 содержится программный код создаваемого многодокументного приложения.

 

Контрольні питання

1. Наведіть характеристику MIDI-прикладних застосувань

2. Наведіть характеристику методів та властивостей MIDI-об’єктів

 

 


САМОСТІЙНА РОБОТА СТУДЕНТА

ЗМІСТОВИЙ МОДУЛЬ 6: ПРОГРАМУВАННЯ З ГРАФАМИ

ТЕМА 6.5: ОРГАНІЗАЦІЯ ПРИКЛАДНИХ ЗАСТОСУВАНЬ

 

Самостійне заняття №38 – Інформаційні вікна




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 375; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.022 сек.