Печатать книгуПечатать книгу

§ 4. Объектно-событийная модель работы программы

Сайт: Профильное обучение
Курс: Информатика. 11 класс (Повышенный уровень)
Книга: § 4. Объектно-событийная модель работы программы
Напечатано:: Гость
Дата: Суббота, 4 Май 2024, 11:38

4.1. Элементы управления в приложениях с графическим интерфейсом

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

Программы, которые вы создавали ранее, взаимодействовали с пользователем посредством текстового интерфейса (часто его называют интерфейсом командной строки). После запуска программы вы вводили данные, программа выполнялась, и вы видели результат. И ввод, и вывод данных осуществлялся в алфавитно-цифровой форме.

Операционные системы с графическим оконным интерфейсом (например, Windows) предполагают общение пользователя с программой посредством элементов управления. К элементам управления относят: кнопки, разнообразные меню, текстовые сообщения, списки и др. При работе программы пользователь выбирает какой-либо элемент управления и совершает с ним определенное действие (пример 4.1). Если такое действие для выбранного элемента было определено, то программа его выполняет, иначе выдает сообщение об ошибке.

Многие системы программирования позволяют создавать программы с оконным интерфейсом. Такие программы называют оконными приложениями (Windows Form Application). Создаются они как проект и состоят из нескольких файлов. Вешний вид окна будущего приложения строится на форме. Для формы сохраняются два файла — один содержит описание внешнего вида формы, другой — описание действий при выборе пользователем того или иного элемента управления. Главный файл проекта содержит описание его структуры, а также команды по созданию формы и запуску приложения.

Все элементы, размещенные на форме и сама форма образуют систему взаимодействующих объектов. Способ их взаимодействия основан на объектно-ориентированном программировании.

Проектирование интерфейса окна программы можно выполнять с использованием RAD-технологии (Rapid Application Development) быстрая разработка приложений. Технология RAD характерна для многих систем программирования. Быстрая разработка стала возможной за счет того, что элементы управления были визуализированы и собраны в специальные библиотеки — VCL (Visual Component Library — визуальная библиотека компонентов).

Различные элементы управления можно перетаскивать с палитры компонентов на форму с помощью мыши. Процесс создания интерфейса будущей программы представляется аналогом работы с неким конструктором. Программирование в RAD-средах является визуальным, поскольку код по созданию элементов управления не пишется, а генерируется средой. Задача программиста — написание кода по управлению готовыми компонентами.

Визуальное программирование поддерживается в PascalABC и Delphi (код пишется на языке Pascal), VisualBasic, C# и др. (пример 4.2). Для обучения учащихся младших классов используется визуальное программирование в среде Скретч (Scratch).

Код на языке программирования С++ можно писать в таких средах визуального программирования, как C++Builder, Qt и др.

Многие элементы управления в разных средах имеют одинаковые или синонимичные имена (пример 4.3).

Пример 4.1. После загрузки какого-либо редактора пользователь может открыть файл для редактирования. При этом он выбирает меню Файл, находит в списке команду Открыть, выбирает нужный файл, нажимает кнопку Открыть. Для того чтобы открыть файл, пользователь взаимодействует с такими элементами управления, как меню, список, кнопка.

Пример 4.2. Среды программирования, в которых реализована поддержка парадигмы визуального программирования.

Delphi:

PascalABC:

VBA (Visual Basic for Applications):

Visual Studio для языка C#:

C++Builder:


Основателем RAD считается сотрудник IBM британский консультант по информационным технологиям Джеймс Мартин (1933 — 2013), который в начале 1990-х гг. сформулировал основные принципы RAD, основываясь на идеях Барри Бойма и Скотта Шульца. Технолгия RAD предполагает, что разработка ПО осуществляется небольшой командой разработчиков за короткий срок.

Пример 4.3. Основные элементы интерфейса:

Элемент управления

Имя

Кнопка

Button

Надпись

Label

Поле для ввода текста

TextBox (Edit)

Флажок

CheckBox

Радиокнопка

RadioButton

Список

ListBox

Выпадающий список

ComboBox

Рисунок

PictureBox (Image)

Элементы управления на форме в среде программирования C++Builder:

Элементы управления на форме в среде программирования PascalABC:

4.2. События

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

Метод программирования, основанный на управлении событиями, называют событийно-ориентированным программированием.

Каждое событие связано с каким-либо объектом, которому передается управление в тот момент времени, когда происходит событие.

Функция, инициируемая событием, называется обработчиком события.

В современных языках программирования события и обработчики событий являются центральным звеном реализации графического интерфейса пользователя. Среди основных событий можно выделить три категории: события мыши, события клавиатуры и системные события (примеры 4.44.6).

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

Объектно-событийная модель программы предполагает следующее:

  • создание объектов с присущими им свойствами и методами;
  • описание событий, при которых объект может выполнять алгоритм обработки данных, менять свое состояние или активизировать другой объект.

Пример 4.4. События мыши возникают в том случае, если пользователь производит какие-либо действия с мышью:

Click

Нажатие левой кнопки мыши

DblClick

Двойной щелчок левой кнопкой мыши

MouseDown

Нажатие на любую кнопку мыши. Параметры обработчика события позволяют определить какая из кнопок была нажата, и в какой точке.

MouseUp

Освобождение кнопки мыши, которая была нажат

MouseMove

Перемещение указателя мыши

Пример 4.5. События клавиатуры происходят при нажатии клавиш на клавиатуре:

KeyDown

Нажатие любой клавиши, включая функциональные и специальные

KeyPress

Нажатие клавиши, с текстовым символом

KeyUp

Освобождение любой клавиши

Пример 4.6. Системные события управляются функциями операционной системы:

Create

Происходит при создании объекта

Paint

Возникает, когда элемент необходимо перерисовать

Resize

Происходит, когда размеры элемента изменяются

Enter

Возникает, когда элемент управления становится активным

Leave

Происходит, когда элемент управления перестает быть активным

Вопросы к параграфу

1.  Какие программы называют оконными приложениями?

2. Что понимают под событийным программированием?

3. Какие типы событий вы можете назвать?