Тема 9. «Особенности программирования в оконных операционных средах»

advertisement
Тема 9. «Особенности программирования в оконных
операционных средах»
Цель
Рассмотреть основные стандартные модули, обеспечивающие работу
в оконной операционной среде.
Задачи
1. Обобщить особенности оконной среды Windows.
2. Обобщить особенности создания оконных приложений (форм).
3. Обобщить оконную поддержку инструментария среды
программирования.
Оглавление
Оконная среда Windows
Разработка оконного интерфейса приложений
Среда разработки: система окон разработки, система меню
Выводы
Вопросы для самопроверки
Литература
Оконная среда Windows
Вы имеете достаточный опыт работы в среде операционной системы
Windows и знакомы со многими ее особенностями. Проанализируем
наши знания и рассмотрим основные принципы этой среды с точки
зрения программирования для Windows.
Вся работа в операционной системе Windows осуществляется при
помощи окон, каждое из которых предназначено для выполнения
определенных действий. Существуют несколько типов окон, из
которых основными являются следующие:
 окно приложения (рис.9.1);
 окно сообщения рис.9.2);
 диалоговое окно (рис.9.3).
Рис.9.1. Окно приложения (создано в MS Visual Studio .NET)
Рис.9.2. Окно сообщения (создано в MS Visual Studio .NET)
Рис.9.3. Окно диалога (создано в MS Visual Studio .NET)
Окно приложения может находиться в одном из трех возможных
режимов: режим «развернутый», режим «оконный» – возможны
изменения размеров и перемещение окна, режим «свернутый» – окно
свернуто на панель задач.
Кроме основных, существует множество других типов окон, например,
меню (рис.9.4) или панели инструментов в любом приложении
(рис.9.5).
Рис.9.4. Меню приложения в режиме конструирования
(создано в MS Visual Studio .NET)
Рис.9.5. Панель инструментов с необходимым инструментарием
(создана в MS Visual Studio .NET)
Необходимо заметить, что все разновидности описанных окон, в свою
очередь, разделяются на два типа: модальные и немодальные. Окна
сообщений и диалоговые окна являются модальными, а все
остальные – немодальные. Особенность работы с модальным окном
заключается в том, что пока оно не закрыто, невозможно продолжение
работы с данным приложением.
Следует отметить, что обычно окно занимает некоторую
прямоугольную область на экране, но это вовсе не обязательно,
запрограммировать можно окно любой конфигурации (рис.9.6).
Рис.9.6. Окно произвольной конфигурации
(создано в MS Visual Studio .NET)
Управление всеми открытыми окнами операционная система
осуществляет посредством присвоения уникального номера каждому
из них. После этого реализуется автоматический контроль всех
событий, которые происходят с данными окнами. Событием является
любое воздействие от мыши или клавиатуры. Сообщения о событии,
имевшем место в любом окне, обрабатывается Windows. После этого
результаты обработки посылаются во все остальные открытые окна,
которые могут в ответ на сообщение от операционной системы
выполнить определенные действия.
Написание обработчиков событий (создание процедур обработки
события) для окон-приложений является задачей программиста.
Разработка оконного интерфейса приложений
Современные программные приложения, в основном, имеют оконный
интерфейс. В основном, так как, можно создать консольное
приложение, которое, хоть и размещается в окне, но не имеет
визуальных интерфейсных элементов управления (рис.9.7).
Рис.9.7. Окно консольного приложения
Оконные приложения состоят из форм. Формы – это объекты,
снабженные визуальным интерфейсом и представленные на экране
для того, чтобы обеспечить взаимодействие пользователей с
приложениями.
Окно, как самостоятельный объект программирования, получило
наилучшую проработку в объектно-ориентированной парадигме
программирования, как реализация одного из классов. Подобно всем
остальным объектам, встречающимся в объектно-ориентированных
языках, формы (окна) обладают свойствами, методами и событиями.
Свойства определяют внешний вид формы: например, свойство
BackColor задает ее основной цвет. Методы отвечают за поведение
формы: в частности, метод Hide позволяет скрыть визуальный
интерфейс формы от пользователя. События формы определяют
взаимодействие с пользователем (или другими объектами): к примеру,
событие MouseDown вызывает определенные действия, когда
пользователь щелкает на кнопке правой кнопкой мыши.
Элементы управления представляют собой компоненты, снабженные
визуальным интерфейсом и позволяющие взаимодействовать с
приложением. Форма – это специальный элемент управления,
именуемый контейнерным. Контейнерный элемент включает другие
элементы управления. В формах системы Windows можно размещать
различные
элементы
управления.
К
числу
наиболее
распространенных из них относятся такие, как TextBox, Label,
OptionButton, ListBox и CheckBox. Кроме элементов управления,
представленных средой программирования, программист может
создавать собственные элементы управления или приобретать
таковые у других поставщиков (рис.9.8).
Формы могут быть много документными и одно документными. MDIформы (Multiple Document Interface) позволяют отобразить несколько
документов одновременно, в то время, как SDI-формы (Single
Document Interface) отображают только один документ. В MDIинтерфейсе имеется одна родительская и несколько дочерних форм.
Перечисленные возможности форм регулируются соответствующими
значениями свойств формы, так, например, в среде .NET этим
свойством является IsMDIConteiner=True|False.
Рис.9.8. Форма – контейнер для элементов управления
Оконный интерфейс приложения, в зависимости от среды
функционирования приложения, может быть построен, например, как
Windows-форма или Web-форма.
Windows-формы предназначены для создания большого класса
обычных приложений с графическим интерфейсом. Это могут быть как
отдельные настольные приложения, работающие совершенно
независимо, так и клиентские части с большими возможностями (так
называемые «толстые клиенты», fat clients) в распределенных клиентсерверных приложениях. Классы для реализации Windows-форм
реализованы таким образом, что «прячут» от программистов вызовы
Win32 API, позволяя сосредоточиться не на технических сложностях, а
на функциональных возможностях приложения.
Другим классом оконных приложений являются web-приложения или
web-формы, web-страницы, для доступа к которым нужен лишь
браузер. Модель создания web-приложений отличается от модели
создания windows-форм (рис.9.9, 9.10): логика представления
отделена от бизнес-логики при помощи техники, называемой
CodeBehind (рис.9.11, 9.12, 9.13).
Рис.9.9. Модель создания Windows-формы: визуальный интерфейс
Рис.9.10. Модель создания Windows-формы: бизнес-логика
Рис.9.11. Модель создания Web-формы: визуальный интерфейс
Рис.9.12. Модель создания Web-формы: логика представления
При создании современных web-приложений можно использовать
«настоящие» языки программирования, такие как C# или VB.NET, а не
только интерпретируемые языки скриптов.
Рис.9.13. Модель создания Web-формы: бизнес-логика
Таким образом, современное web-приложение – это набор
взаимосвязанных файлов (*.html, *.asp, *.aspx, файлов изображений),
а также связанных с ними компонентов (двоичных файлов .NET или
классического COM), которые размещены на web-сервере.
Среда разработки: система окон разработки, система меню
Рассмотрим особенности оконного интерфейса среды разработки на
примере
Microsoft
Visual
Studio
.NET,
которая
является
интегрированной
средой
разработки
(Integrated
Development
Environment, IDE) Windows и Web-проектов.
Основной единицей работы в Visual Studio .NET является проект.
Более 10 различных типов проектов можно создать, используя
шаблоны и мастера Visual Studio .NET. Проект, в зависимости от типа,
представляет собой набор файлов с программным кодом, фалов
ресурсов, файлов с информацией о сборке проекта и так далее.
Практически все действия пользователя в Visual Studio .NET
сопровождаются
интеллектуальной
поддержкой,
чаще
всего
реализованной в виде окон: мастеров, диалоговых, справочных,
браузеров. Например, окно Solution Explorer (Проводник решений,
рис.9.14) отображает имена всех компонентов проекта и решения,
представляя их в иерархической структуре.
Рис.9.14. Окно Solution Explorer
Для создания окон разрабатываемых проектов Visual Studio .NET
располагает окном конструирования с панелями инструментов Toolbox
(рис.9.15). Используя панель инструментов ToolBox, из незаполненной
формы можно сконструировать любое диалоговое окно, требуемое
для приложения.
Кроме создания интерфейса в проект, конечно, надо добавить код для
реализации бизнес-логики. Код набирается в окне редактирования
кода или редакторе кода (рис.9.16). Окно работает в основном как
текстовый редактор, однако вместо проверки синтаксиса и грамматики
человеческого языка (например, английского или русского)
анализирует корректность программного кода.
Рис. 9.15. Окно конструирования формы и панель Toolbox
Написание программ существенно облегчается за счет способности
окна редактора кода автоматически завершать написание операторов,
свойств и параметров. При написании кода редактор сам предлагает
пользователю список компонентов (list members), логически
завершающих вводимую пользователем конструкцию. Например, при
наборе имени элемента управления Button2 после ввода точки на
экране отобразится список компонентов (рис.9.16), которые логически
завершают данную конструкцию.
Рис.9.16. Список компонентов
Другая возможность окна редактирования кода – автоматическое
отображение на экране справки о формальных параметрах (parameter
info) процедур, свойств, методов и конструкторов после набора их
имени. На рис.9.16 в желтой рамке показан пример такой
автоматической справки.
Среда Visual Studio .NET располагает достаточно большим
количеством окон, например, окно Task List предоставляет удобное
средство по отладке программ. Это окно сводит в централизованный
список всю информацию об ошибках. В окне Object Browser отображен
список всех объектов, которые имеются в системе и которые можно
использовать при создании проекта. Окно Class View выводит на
экран в виде иерархической структуры библиотеки классов. Окно
Output отображает информацию о результатах компиляции проекта.
Впечатляющими возможностями обладают окна Server Explorer, они
позволяют создавать таблицы реляционной базы данных, диаграммы
базы данных, писать хранимые процедуры, создавать представления
(рис.9.17).
Рис.9.17. Разработка базы данных в окне Server Explorer
Другими словами, создание проекта в среде Visual Studio .NET – это
работа с оконным интерфейсом среды.
Выводы
Современный
стиль
оформления
приложений
основан
на
использовании оконного графического интерфейса. Окно, как основа
для построения интерфейса, и само стало элементом интерфейса, так
как имеет большую функциональность, чем просто подложка или
контейнер для элементов управления.
В объектно-ориентированной парадигме окно является одним их
классов с методами, свойствами и событиями. Программирование
объекта «окно» выполняется точно также как и программирование
любого другого класса. Окно, как и любой другой объект, может быть
создано в режиме конструирования или программным путем.
В концепции .NET окно является объектом класса Form, находящимся
в пространстве имен System.Windows.Forms.Form.
Сформировались эргономические требования к внешнему виду и
функциональности окна: наличие меню, панелей или элементов
управления, элементов ввода/вывода информации, их взаимное
расположение и появление/скрытие в форме.
Все эти особенности следует учитывать при создании собственного
оконного интерфейса.
Вопросы для самопроверки
1. Какие различные типы окон вы могли бы назвать и описать их
назначение и отличия?
2. Перечислите режимы изображения окна, в каких типах окон эти
режимы возможны?
3. Что такое «немодальное» окно? «Модальное» окно? Что
регулирует свойство «модальности» окна?
4. Какие, на ваш взгляд, эргономические задачи решает
«прямоугольность» окна? Обязательно ли окно должно быть
прямоугольным?
5. Приведите
примеры
MDI-приложений
(многодокументных
приложений). Может ли консольное приложение иметь MDIинтерфейс?
6. Форма – контейнер для элементов управления. Существуют ли
другие элементы управления, являющиеся контейнерами?
7. В чем заключаются различия моделей создания Web-формы от
Windows-формы?
8. На
каких
языках
программирования
может
быть
запрограммирована бизнес логика в Web-приложении?
9. Перечислите основные окна в Visual Studio .NET.
10.
Какие интеллектуальные возможности окон Visual Studio
.NET вы можете указать?
Литература
1. Гарнаев Ф.Ю. Самоучитель Visual Studio .NET 2003.– СПб.: БХВПетербург, 2005.– 688.с.: ил.
2. Одинцев И.О.
Профессиональное
программирование.
Системный подход. – СПб.: БХВ-Петербург, 2003. – 512 с.: ил.
3. Глушаков
С.В.,
Мельников
В.В.,
Сурядный
А.С.
Программирование в среде Windows: Учебный курс, М.:
«Издательство АСТ». 2004. – 487 с.
4. Троелсен Э. С# и платформа .NET. Библиотека программиста –
СПб.: Питер, 2006. – 796 с.: ил.
5. Visual Basic .NET: учебный курс / В.Долженков, М.Мозговой. –
СПб: Питер, 2005, – 464 с.: ил.
Download