Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторная 1, сем 2, ЯП (2).docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
798.8 Кб
Скачать

Лабораторная работа №2

Цель работы: Освоение приемов создания диалоговых окон. Работа в редакторе ресурсов.

Лабораторная работа имеет как общее задание, так и индивидуальные задания.

Теоретический материал

Диалоговые окна, или окна диалога (dialog box), реализуют для организации интерфейса с пользователем – получение дополнительной информации и вывода результатов работы приложения.

Диалоговое окно имеет вид всплывающего окна с одним или несколькими элементами управления (controls), которые являются дочерними окнами по отношению к диалоговому окну. Сообщения для диалогового окна поступают через функцию диалогового окна (dialog procedure), которая является функцией обратного вызова и очень похожа на обычную оконную процедуру, хотя и имеет некоторые важные отличия.

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

Диалоговые окна бывают модальными (modal) и немодальными (modeless).

Модальное диалоговое окно ожидает выполнения некоторого действия со стороны пользователя, прежде чем приложение сможет продолжить свое выполнение. Пользователь не может переключиться между диалоговым окном и другими окнами приложения. Он должен явно закрыть модальное диалоговое окно кнопками OK или Cancel. Однако пользователь может переключаться на другие приложения.

Немодальное диалоговое окно не приостанавливает выполнение программы. Оно может свободно получать и терять фокус ввода. Это значит, что пользователь свободно может переключаться между диалоговым окном и другими окнами приложения.

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

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

Описание

Рисунок

(Picture control)

Элемент управления, отображающий пустую прямоугольную рамку, закрашенную прямоугольную область или растровый образ

Надпись

(Static text)

Текстовая строка. Обычно используется как метка (поясняющая надпись) рядом с полем ввода или элементом управления другого типа. Может применяться как самостоятельная информационная надпись.

Рамка

(Group box)

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

Кнопка

(Button)

Элемент, который пользователь «нажимает», чтобы выполнить какое-либо действие

Флажок

(Check box)

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

Переключатель

(Radio button)

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

Список

(List control)

Прямоугольное окно со списком элементов (строк), из которого пользователь может выбрать любой элемент.

Окно редактирования или текстовое поле (Edit control)

Прямоугольное окно для ввода текста с клавиатуры. Элемент предоставляет определенные средства редактирования текста.

Комбинированный список (Combo box)

Элемент, объединяющий список с окном редактирования

Полоса прокрутки

(Scroll bar)

Элемент управления линейкой прокрутки.

Если элемент управления создан, то программисту известен только его идентификатор. В тоже время функции, работающие с элементом управления, принимают в качестве параметра его дескриптор. Для получения дескриптора используется функция:

HWND GetDlgItem(           HWND hDlg, // дескриптор диалогового окна

    int nIDDlgItem // идентификатор элемента управления

);

В случае успешного завершения функция возвращает дескриптор элемента управления, в случае возникновения ошибки - 0.

Элементы управления могут быть разрешенными (enabled) или запрещенными (disabled).

По умолчанию все элементы управления имеют статус разрешенных.