Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
каркас.doc
Скачиваний:
58
Добавлен:
03.06.2015
Размер:
1.6 Mб
Скачать

Глава 5. Создание диалогов

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

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

5.1. Взаимодействие Win-диалогов с пользователем

Диалог взаимодействует с пользователем посредством одного или нескольких элементов управления. Элемент управления представляет собой особый тип окна, предназ­наченный для ввода или вывода информации. Элементы управления обычно имеют родительское окно, которым в примерах данной главы является диалог. Windows поддерживает несколько типов элементов управления, включая кнопки (buttons), контрольные переключатели (check boxes), селекторные кнопки (radio buttons), списки (list boxes), окна ввода (edit boxes), комбинированные списки (combo boxes), линейки прокрутки (scroll bars) и статические элементы (statics).

  • Кнопка (button) – это имитация кнопки на экране, которую пользователь активизирует щелчком мыши или нажав [Enter], предварительно выбрав управ­ляющий элемент клавишей [Tab]. Вы раньше уже использовали кнопки в окнах сообщений (например, кнопка ОК).

  • Контрольный переключатель (check box) содержит один или более элементов, которые могут быть отмечены или не отмечены. Если элемент отмечен, соответ­ствующий параметр считается выбранным. Одновременно могут быть два или более контрольных переключателей.

  • Селекторная кнопка (radio button) представляет собой почти то же самое, что и контрольный переключатель, с той разницей, что одновременно можно выбрать только одну кнопку.

  • Список (list box) представляет собой список элементов, из которых пользователь может выбрать один (или более). Списки часто используются для отображения на экране, например, имен файлов.

  • Окно ввода (edit box) позволяет пользователю ввести строку символов. Окна ввода поддерживают все необходимые для этого возможности. Таким образом, для получения строки ввода программа просто отображает диалог и ожидает, пока пользователь не закончит ввод требуемой строки.

  • Комбинированный список (combo box) является комбинацией списка и окна ввода.

  • Линейка прокрутки (scrollbar) используется для прокрутки документа в окне.

  • Статический элемент (static) предназначен для отображения информации, кото­рая не может быть изменена пользователем, и используется для вывода текста или графики.

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

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

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

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

Сначала рассмотрим организацию работы с модальными диалогами, поскольку они встречаются чаще. Пример использования немодального диалога завершает данную главу.