КАТЕГОРИИ: Архитектура-(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; Просмотров: 397; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |