|
Программирование >> Обработка исключительных ситуаций
Событийно-управляемое программирование В основу Windows положен принцип событийного управления. Это значит, что и сама система, и приложения после запуска ожидают действий пользователя и реагируют на них заранее заданным образом. Любое действие пользователя (нажатие клавиши на клавиатуре, щелчок кнопкой мыши, перемещение мыши) называется событием. Структура программы, управляемой событиями, изображена на рис. 14.1. Имеются в виду 32-разрядные приложения, то есть приложения, в которых используется адрес длиной 32 разряда. Интерфейсные компоненты обращаются к аппаратуре не непосредственно, а через функции операционной системы, называемые API (Application Program Interface - программный интерфейс приложения). API-функции находятся в динамических библиотеках (Dynamic Link Library, DLL), разделяемых всеми j приложениями. Эти библиотеки называются динамическими потому, что находящиеся в них функции не подключаются к каждому исполняемому файлу до выполнения программы, а вызываются в момент обращения к ним. В основе пользовательского интерфейса Windows лежит представление экрана как рабочего стола, на котором располагаются листы бумаги - окна \ приложений, ярлыки и меню. Одни элементы могут полностью или частично перекрывать другие, пользователь может изменять их размеры и перемещать их. Приложение может иметь несколько окон, одно из них является главным. При закрытии главного окна приложение завершается. Поддержка виртуального адресного пространства для каждого приложения. Каждому приложению доступно пространство адресов оперативной памяти \ размером до 4 Гбайт . Операционная система отображает его на физические , адреса и обеспечивает защиту приложений друг от друга. В разных версиях \ Windows защита выполняется с различной степенью надежности, например, системы Windows 95/98 гораздо менее надежны, чем Windows NT/2000. Возможность обмена данными между приложениями. Приложения могут об- ; мениваться данными через буфер обмена или используя другие механизмы, например OLE (Object Linking and Embedding - связывание и внедрение объектов) или именованные программные каналы. Возможность запуска старых программ. В 32-разрядных версиях Windows можно выполнять 16-разрядн1е Windows-программы, а также программы, написанные под MS-DOS. Последние запускаются в так называемой виртуальной DOS-машине, которая создает у программы полное впечатление того, что она выполняется под управлением MS-DOS в монопольном режиме. Принцип событийного управления (рассматривается в следующем разделе). События Инициализация Обработчик событий Подпрограмма 1 Подпрограмма п Завершение Рис. 14.1. Структура программы, управляемой событиями Событие воспринимается Windows и преобразуется в сообщение - запись, содержащую необходимую информацию о событии (например, какая клавиша была нажата, в каком месте экрана произошел щелчок мышью). Сообщения могут поступать не только от пользователя, но и от самой системы, а также от активного или других приложений. Определен достаточно широкий круг стандартных сообщений, образующий иерархию, кроме того, можно определять собственные сообщения. Сообщения поступают в общую очередь, откуда распределяются по очередям приложений. Каждое приложение содержит цикл обработки сообщений, который выбирает сообщение из очереди и через операционную систему вызывает подпрограмму, предназначенную для его обработки (рис. 14.2). Таким образом, Windows-приложение состоит из главной программы, обеспечивающей инициализацию и завершение приложения, цикла обработки сообщений и набора обработчиков событий. Рис. 14.2. Структура Windows-приложения Среда Visual Studio.NET содержит удобные средства разработки Windows-приложений, выполняющие вместо программиста рутинную работу - создание шаблонов приложения и форм, заготовок обработчиков событий, организацию цикла обработки сообщений и т. д. Рассмотрим эти средства. Шаблон Windows-приложения Создадим новый проект (File New Project), выбрав шаблон Windows Application (рис. 14.3). После более длительных раздумий, чем для консольного приложения, среда сформирует шаблон Windows-приложения. Первое отличие, которое бросается в глаза, - вкладка заготовки формы Form1.cs[Design], расположенная в основной части экрана. Форма представляет собой окно и предназначена для размещения компонентов (элементов управления) - меню, текста, кнопок, списков, изображений и т. д. Рис. 14.3. Выбор шаблона проекта Среда создает не только заготовку формы, но и шаблон текста приложения. Перейти к нему можно, щелкнув в окне Solution Explorer (View Solution Explorer) правой кнопкой мыши на файле Forml .cs и выбрав в контекстном меню команду View Code. При этом откроется вкладка с кодом формы, который, за исключением комментариев, приведен в листинге 14.1. Представлять себе, что написано в вашей программе, весьма полезно, поэтому давайте внимательно рассмотрим этот текст. Листинг 14.1. Шаблон Windows-приложения using System; using System.Drawing: using System.Col lections; using System.ComponentModel; using System.Windows.Forms; using System.Data;
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |