![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Определение ресурсов диалога
Диалог использует еще один вид ресурсов, описываемых в файле ресурсов. При написании программы работы с диалогом Вам потребуется файл ресурсов, описывающий этот диалог. Хотя содержимое диалога можно описать с помощью обычного текстового редактора, как это делалось с меню, такой подход используется редко. Большинство программистов прибегают к помощи редактора диалогов. В основном это обусловлено тем, что определения ресурсов диалога включают в себя координаты элементов управления относительно окна диалога, так что лучше применять специальные инструменты, позволяющие размещать эти элементы в интерактивном режиме. Тем не менее поскольку RC-файлы в примерах этой главы имеют текстовый формат, их можно вводить как обычный текст. Для создания собственных диалогов Вы можете использовать редактор диалогов. Поскольку на практике большинство диалогов создаются при помощи редактора диалогов, ниже дается только краткое описание ресурсов для диалогов, используемых в примерах. Ресурсы для диалогов задаются оператором DIALOG, который имеет вид:
ИмяДиалога DIALOG [DISCARDABLE] X, Y, Width, Height Параметры { Элементы диалога }
ИмяДиалога является именем ресурса, который используется диалогом. Координаты верхнего левого угла диалога задаются значениями X и Y, а значения Width и Height определяют его размеры. Если диалог может быть удален из памяти, если он не используется, его следует определить как DISCARDABLE. Для диалога можно задать один или несколько параметров. Два из них определяют заголовок и стиль окна диалога. Элементы диалога определяют элементы управления, содержащиеся в диалоге. Приведенный ниже файл ресурсов определяет диалог, который будет использоваться в первом примере. В этом файле содержатся описания меню, используемого для вызова диалога, таблицы акселераторов для меню и собственно диалога. Введите этот файл и назовите его Mydialog.rc.
// Пример файла ресурсов, описывающего меню и диалог #include " Mydialog.h" #include < Windows.h>
MYMENU MENU { MENUITEM " Диалог & 1", IDM_DIALOG1 MENUITEM " Диалог & 2", IDM_DIALOG2 MENUITEM " Помощь", IDM_HELP }
MYMENU ACCELERATORS { VK_F2, IDM_DIALOG 1, VIRTKEY VK_F3, IDM_DIALOG2, VIRTKEY VK_Fl, IDM_HELP, VIRTKEY }
MYDB DIALOG 18, 18, 142, 92 CAPTION " Первый диалог" STYLE DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU { DEFPUSHBUTTON " Красный", IDD_RED, 32, 40, 36, 14, WS_CHILD|WS_VISIBLE|WS_TABSTOP PUSHBUTTON " Зеленый", IDD_GREEN, 74, 40, 36, 14, WS_CHILD|WS_VISIBLE|WS_TABSTOP PUSHBUTTON " Сброс", IDCANCEL, 52, 65, 37, 14, WS_CHILD|WS_VISIBLE|WS_TABSTOP }
В этом файле определяется диалог MYDB с координатами верхнего левого угла в точке 18, 18, шириной 142 и высотой 92. Строка символов после CAPTION задает заголовок диалога. Оператор STYLE определяет тип окна для создаваемого диалога. Некоторые широко используемые стили, включая и те, которые применяются в данной главе, приведены в таблице 5.1. Их можно комбинировать, используя операцию логического сложения, чтобы получить нужный тип окна. Эти стили могут частично использоваться также элементами управления и другими окнами.
Таблица 5.1
|