Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Программирование интерфейса пользователя средствами WinAPI

Автор:   •  Июнь 7, 2023  •  Практическая работа  •  3,153 Слов (13 Страниц)  •  154 Просмотры

Страница 1 из 13

Министерство науки и высшего образования Российской Федерации

ФГБОУ ВО «Марийский государственный университет»

Институт цифровых технологий

Физико-математический факультет

Кафедра прикладной математики и информатики

Отчет по дисциплине «Системное программирование»

Практическая работа №1

«Программирование интерфейса пользователя средствами WinAPI»

Выполнил студент гр. ОС-37

Сурнин Р. А.

Проверил: ст. преподаватель

Виноградов В. О.

Йошкар-Ола

 2023

Содержание

Введение        3

1.        Теоретическая часть        4

1.1.        Создание и программирование кнопок        4

1.2.        Создание и программирование меню        5

1.3.        Создание и программирование строки состояния        5

2.        Практическая часть        7

3.        Описание программного кода        7

Заключение        10

Приложение А        11

Приложение Б        19


Введение

Данная практическая работа направлена на изучение пользовательского интерфейса и его компонентов. WinAPI — это мощный набор функций и процедур, используемых для разработки приложений Windows. Одним из основных компонентов WinAPI является пользовательский интерфейс (User interface), который включает кнопки, меню и строки состояния.


  1. Теоретическая часть

Необходимо создать и запрограммировать пользовательский интерфейс, состоящий из кнопок, меню и строки состояния средствами WinAPI. Рассмотрим необходимые компоненты, которые будем использовать при создании интерфейса:

  1. Библиотека windows.h. В ней содержится весь необходимый функционал для создания и программирования элементов интерфейса.
  2. Функция WinMain. Она служит точкой входа в графическое приложения. В ней опишем процесс создания основного окна приложения.
  3. Функция RegClass. В ней опишем структуру класса окна.
  4. Функция обратного вызова WndProc. Это функция, переданная в другие функции в качестве аргумента, которые затем вызываются по завершению какого-либо действия. В теле данной функции будут описаны основные части нашей программы, такие как: создание кнопок, меню, строки состояния, а также обработчики событий, которые будут происходить при взаимодействии с тем или иным элементом интерфейса.
  1. Создание и программирование кнопок

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

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

  1. Static HWND button_1, button_2, button_3. Это статичные дескрипторы к кнопкам, которые мы собираемся создать. Static сообщает о том, что мы хотим чтобы переменная оставалась неизменной при каждом вызове функции.
  2. Обработчик WM_CREATE. Необходим для создания элементов интерфейса.
  3. Обработчик WM_COMMAND. В нем будет описано действие, которое происходит при нажатии на кнопки.
  4. Функция CreateWindowA. При помощи данной функции будет происходить создание кнопок класса “BUTTON”. Эта функция включает в себя набор стилей окна.
  5. Функция MessageBox. Эта функция будет выводить в диалоговом окне сообщения при нажатии на кнопки.
  1. Создание и программирование меню

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

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

  1. Обработчик WM_CREATE. Необходим для создания элементов интерфейса.
  2. Обработчик WM_COMMAND. В нем будет описано действие, которое происходит при нажатии на тот или иной пункт меню.
  3. HMENU. Это дескриптор меню.
  4. Функции CreateMenu и CreatePopupMenu для создания пустых меню и выпадающего списка меню соответственно.
  5. Функция AppendMenu. Добавляет в конец заданной строки меню, "выпадающего" меню, подменю или контекстного меню новый пункт.
  6. Функция SetMenu. Назначает новое меню указанному окну.
  7. Функция MessageBox. Эта функция будет выводить в диалоговом окне сообщения при нажатии на тот или иной пункт выпадающего меню.
  1. Создание и программирование строки состояния

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

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

  1. Библиотека commctrl.h. Необходима для создания строки состояния, при помощи использования функции CreateStatusWindow.
  2. #pragma comment(lib,”comctl32.lib”). Подключение библиотеки comctl32. Она необходима для работы с функциями строки состояния.
  3. #define ID_STATUS 200. Это макроопределение идентификатора строки состояния.
  4. Static HWND hStatus. Это статичный дескриптор для строки состояния.
  5. Static int pParts [3]. Определяем количество частей в строке состояния.
  6. Static short cx. Это вспомогательная переменная для вычисления координат.
  7. Функция SendMessage посылает сообщение с указанием количества частей и их длин.
  8. Функция CreateStatusWindow. Необходима для создания строки состояния.
  9. Функция MoveWindow. Необходима для того, чтобы перемещать строку состояние вслед за главным окном при изменении размеров.


  1. Практическая часть

В рамках практической работы №1 создадим несколько кнопок, строку состояния и меню, состоящее из трех пунктов, каждый из которых содержат подменю с тремя выпадающими пунктами. Листинг разработанной программы и демонстрация работы программы представлены в приложениях А, Б.

...

Скачать:   txt (26.8 Kb)   pdf (158.1 Kb)   docx (39.8 Kb)  
Продолжить читать еще 12 страниц(ы) »
Доступно только на Essays.club