Особенности взаимодействия пользователя с Windows

Лаб. 7. Разработка элементов основного меню Windows-приложений.

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

После выполнения лаб. работы студент должен

знать:

· особенности взаимодействия пользователя с Windows;

· типовую структуру Windows-приложения, основанную на применении окон;

· технологию создания типовых управляющих элементов;

уметь:

· использовать стандартные окна сообщений;

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

Методические указания к проведению лабораторного занятия.

 

Основные теоретические положения

Два способа создания Windows-приложений.

 

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

С помощью этих средств можно создавать и помещать в нужное место различные элементы управления и меню, используемые приложением.

Visual Studio помогает создавать классы и методы, которые необходимы для каждого управляющего элемента. Средства разработки Visual Studio — очень удобный инструмент для создания большинства Windows-приложений, хотя и не единственно возможный.

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

Поскольку Windows- программы представленные в этом разделе, довольно невелики по размеру, их создание показано здесь в форме, которая подходит для использования текстового редактора.

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

 

Особенности взаимодействия пользователя с Windows.

 

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

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

В случае консольной программы именно ваша программа инициирует взаимодействие с операционной системой. Примером может служить программа, запрашивающая входные данные и выводящая результаты путем вызова методов Read () или WriteLine(). Таким образом, программы, написанные "традиционным способом", сами обращаются к операционной системе, а не операционная система к ним.

Но в отношении "своих" программ Windows предполагает совсем иную модель отношений: именно Windows должна обращаться к вашей программе.

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

Таким образом, общий формат всех Windows-программ продиктован механизмом сообщений, который и лежит в основе взаимодействия с Windows.

Существует множество различных сообщений, которые Windows может послать программе. Например, при каждом щелчке кнопкой мыши в окне вашей программы будет послано сообщение, связанное со щелчком кнопкой мыши. При щелчке на электронной кнопке будет послано сообщение другого типа, а при выборе элемента меню — третьего. Здесь необходимо понимать следующее: с точки зрения программы сообщения поступают случайным образом. Вот почему Windows-программы напоминают программы, управляемые прерываниями. Вы сами не знаете, каким будет следующее сообщение.

Windows-формы.

 

Ядром Windows-программ, написанных на С#, является форма.

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

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

Когда окну посылается сообщение, оно преобразуется в событие. Следовательно, чтобы обработать Windows-сообщение, достаточно для него зарегистрировать обработчик событий. При получении этого сообщения обработчик событий будет вызываться автоматически.

Класс Form.

Форма создается посредством реализации объекта класса Form или класса, производного от Form.

Класс Form помимо поведения, обусловленного собственными элементами, демонстрирует поведение, унаследованное от предков. Среди его базовых классов выделяются своей значимостью классы System.ComponentModel.Component и System.Windows.Forms.Control.

Класс Control определяет черты, присущие всем Windows-элементам управления. Тот факт, что класс Form выведен из класса Control, позволяет использовать формы для создания элементов управления.

Использование некоторых элементов классов Form и Control демонстрируется в приведенных ниже примерах.