Итак, вы увидели, как можно работать с существующим диалого-
вым окном. Теперь вы увидите, как можно создать новое диалоговое
окно. Но перед этим нужно рассмотреть два вопроса:
- В каком тип окна должно находиться диалоговое окно? Должно
ли оно включать в себя заголовок в строке заголовка? Долж-
но ли это быть всплывающее окно? Нужно ли вам управляющее
меню?
- Какие типы управляющих элементом вам нужны?
Для взаимноисключающего выбора вы можете использовать
кнопки с зависимой фиксацией (селективные кнопки). Если
пользователю нужно выбрать файл, имеет смысл включить в
окно и блок списка, и редактируемый управляющий элемент.
При этом пользователь сможет ввести имя файла или выбрать
его из списка.
- Следует ли упорядочить элементы в диалоговом окне, после
того как вы добавите в окно все нужные элементы? Смогут ли
пользователи получить доступ ко всем управляющим элементам
с помощью клавиши Tab?
Предположим, вы хотите создать диалоговое окно, в котором
пользователи могут набирать текст и выбирать пару параметров фор-
матирования. Это диалоговое окно выглядит следующим образом:
+---------------------------------------------------------------+
¦ - ¦ Insert text dialog box ¦
+---------------------------------------------------------------¦
¦ ¦
¦ +---------------------------------+ ¦
¦ ¦ Type your text here ¦ ¦
¦ +---------------------------------+ ¦
¦ ¦
¦ +--Formatting choices-------------+ ¦
¦ ¦ +-+ ¦ ¦
¦ ¦ ¦ ¦ Bold ¦ ¦
¦ ¦ +-+ ¦ ¦
¦ ¦ +-+ ¦ ¦
¦ ¦ ¦ ¦ Italic ¦ ¦
¦ ¦ +-+ ¦ ¦
¦ +---------------------------------+ ¦
¦ +-----------+ +-----------+ ¦
¦ ¦ _ ¦_ ¦ ¦_ ¦
¦ ¦ V OK ¦_ ¦ X Cancel ¦_ ¦
¦ +-----------+_ +-----------+_ ¦
¦ ____________ ____________ ¦
¦ ¦
+---------------------------------------------------------------+
Insert text dialog box - диалоговое окно включения текста;
Type your text here - введите здесь текст; Formatting choices -
параметры форматирования; Bold - жирный; Italic - наклонный; OK -
выбор; Cancel - отмена.
Рассмотрим теперь различные части данного диалогового окна:
- В строке заголовка диалогового окна выводится идентифици-
рующий его заголовок: Insert Text Dialog Box.
- В редактируемом управляющем элементе сообщается: Type your
text here (введите здесь текст). Пользователь может ввести
здесь текст.
Групповой блок представляет собой рамку, которая объединя-
ет вместе группы кнопок. Пользователь может выбрать две
кнопки с независимой фиксацией (два параметра) - Bold и
Italic. Пользователь может выбирать данные параметры,
включая или выключая их.
- Командные кнопки OK и Cancel дают возможность оперативного
управления. Кнопка OK выбирается по умолчанию (она выбира-
ется, когда пользователь нажимает клавишу Enter.
Если бы вы сами написали записи ресурса для данного диалого-
вого окна, то этот код выглядел бы следующим образом (числа в ис-
ходном коде могут изменяться в зависимости от размера и места вы-
вода диалогового окна и управляющих элементов):
MY_DB DIALOG 18, 18, 115, 118
CAPTION "Insert Text Dialog Box"
STYLE DS_MODALFRAME¦WS_POPUP¦WS_CAPTION¦WS_SYSMENU
BEGIN
CONTROL "Type your text here", 102, "EDIT",
ES_LEFT¦WS_BORDER¦WS_TABSTOP, 16, 17, 75, 12
CONTROL "Bold", 2, "BUTTON"
BS_CHECKBOX¦ES_TABSTOP, 30, 50, 28, 12
CONTROL "Italic", 2, "BUTTON"
BS_CHECKBOX¦ES_TABSTOP, 30, 65, 28, 12
CONTROL "Formatting choices", 4,
"BUTON", BS_GROUPBOX, 15, 35, 75, 50
CONTROL "OK", 106 "BUTTON", BS_DEFPUSHBUTTON¦WS_TABSTOP,
156, 95, 30, 14
CONTROL "OK", 107 "BUTTON", BS_DEFPUSHBUTTON¦WS_TABSTOP,
60, 95, 30, 14
END
Теперь вы видите, как легко можно создать диалоговое окно с
помощью редактора диалогов Пакета разработчика ресурсов.