PUSHBUTTON "Done",IDCANCEL,116,8,50,14,WS_GROUP END
DIALOGEX • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Оператор DIALOGEX заменяет применявшийся ранее тип ресурса DIALOG и позволяет создавать идентификаторы справки для диалогового окна и элементов управления, использовать расширенные стили в диалоговом окне и элементах управления, задавать установки веса и курсива для шрифта диалогового окна, включать данные, необходимые для элементов управления, находящихся в диалоговом окне, и использовать предопределенные имена системных классов BEDIT, IEDIT и HEDIT. В объявлениях элементов управления в теле расширенного диалогового окна применяется также расширенный синтаксис, приведенный в описании оператора каждого элемента управления далее в этой главе. Кроме того, с элементами управления могут быть связаны данные инициализации. Это можно выполнить, включив блок BEGIN и END после оператора элемента управления и перечислив элементы данных, разделяя запятой (,). |
||||||||||||||||||||||||||||
Синтаксис |
namelD DIALOGEX x, у, width, height [,help!D] [option-statements] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
namelD |
Имя диалогового окна. Это — символьная строка или 16-разрядное целое число без знака, которое используется с функцией DialogBox для указания диалогового окна, которое должно быть загружено и выполнено. |
||||||||||||||||||||||||||||
x, у, width, height |
tПозиция и размеры диалогового окна. Для указания всех размеров используются базовые единицы длины диалогового окна. Координаты jc, у измеряются относительно левого верхнего угла окна, из которого вызвано диалоговое окно. |
||||||||||||||||||||||||||||
helplD |
Числовое выражение, которое указывает идентификатор, используемый для обозначения диалогового окна при обработке сообщения WM_HELP. |
||||||||||||||||||||||||||||
option -statements |
Это необязательные операторы, в качестве которых можно указывать STYLE, EXSTYLE, CAPTION, CHARACTERISTICS, MENU, CLASS, LANGUAGE, VERSION и FONT. Все операторы в определении диалогового окна, следующие после оператора DIALOG, вплоть до оператора BEGIN, считаются необязательными операторами. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
#define HIDEXMPDLG 1001 EXMPDLG DIALOGEX 10, 18, 145, 80, HIDEXMPDLG STYLE OSMODALFRAME | WS POPUP | WS VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Test Dialog" BEGIN (определения элементов диалогового окна) END |
|||||||||||||||||||||||||||||
CAPTION • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Применяется с диалоговыми окнами, которые имеют стиль WS_CAPTION. Это удобная конструкция, поскольку она позволяет пользователю перемещать диалоговое окно по экрану. Заголовок может служить также напоминанием о том, какое действие выполняется. |
||||||||||||||||||||||||||||
Синтаксис |
CAPTION captiontext |
||||||||||||||||||||||||||||
Параметры |
f |
||||||||||||||||||||||||||||
captiontext |
Символьная строка, которая отображается в качестве заголовка диалогового окна. Строка должна быть задана в двойных кавычках (" "). |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
CAPTION "Dialog Box Title Here" |
|||||||||||||||||||||||||||||
CHARACTERISTICS * Windows 98 * Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Позволяет разработчику указать информацию о ресурсе для ее применения в инструментальных средствах, которые считывают файлы (и записывают в них) определения ресурса. Указанное значение игнорируется системой Windows. |
||||||||||||||||||||||||||||
Синтаксис |
CHARACTERISTICS dword |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
dword |
Определяемое пользователем значение двойного слова. Это значение появляется вместе с ресурсом в откомпилированном файле RES. Однако это значение не хранится в выполняемой программе. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
CHARACTERISTICS 388837 |
|||||||||||||||||||||||||||||
CLASS • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Обычно для диалогового окна используется такой же класс, как и для родительского окна. Данный оператор вызывает применение для диалогового окна отдельного класса. В функциях диалогового окна для окон со своим собственным классом должна быть указана отдельная применяемая по |
||||||||||||||||||||||||||||
умолчанию функция обработки сообщений. Применение этого оператора показано в примере, приведенном в описании функции DefDlgProc. |
|||||||||||||||||||||||||||||
Синтаксис |
CLASS classname |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
classname |
Имя класса. Класс должен быть зарегистрирован заранее с помощью функции RegisterClass. Класс должен быть зарегистрирован с элементом cbWndExtra, установленным в DLGWINDOWEXTRA. Строка должна быть задана в двойных кавычках (" "). |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
CLASS "separate" |
|||||||||||||||||||||||||||||
EXSTYLE «. Windows 98 «• Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Указывает расширенный стиль, применяемый при создании диалогового окна. |
||||||||||||||||||||||||||||
Синтаксис |
EXSTYLE exstyle |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
exstyle |
Все расширенные стили окна описаны в табл. 3.5 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
EXMPDLG DIALOGEX EXSTYLE=WS EX TOOLWINDOW 10, 18, 145, 80 ИЛИ EXMPDLG DIALOGEX 10, 18, 145, 80 EXSTYLE WS_EX_TOOLWINDOW BEGIN (определения элементов диалогового окна) END |
|||||||||||||||||||||||||||||
FONT • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Указывает шрифт, применяемый в диалоговом окне для всех элементов управления. Как было описано выше, шрифт определяет не только гарнитуру, но и размеры каждого элемента управления и самого диалогового окна. Это связано с тем, что при определении размеров диалогового окна применяются базовые единицы длины диалогового окна, выраженные в долях размеров символов шрифта. Для большинства диалоговых окон лучше всею использовать шрифт MS Sans Serif размером 8 пунктов. |
||||||||||||||||||||||||||||
Синтаксис |
FONT pomisize, typeface, weight, italic, charset |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
pomisize |
Размер применяемого шрифта в пунктах. |
||||||||||||||||||||||||||||
typeface |
Название применяемой гарнитуры шрифта. Строка должна быть задана в двойных кавычках (" "). |
||||||||||||||||||||||||||||
weight |
Применяются значения FW_*, которые определены для структуры LOGFONT. |
||||||||||||||||||||||||||||
italic |
TRUE, если нужно использовать курсивный шрифт; в ином случае FALSE. |
||||||||||||||||||||||||||||
charset |
Используются значения, определенные для члена IfCharSet структуры LOGFONT. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
FONT в, "MS Sans Serif", FW_BOLD, TRUE, ANSI CHARSET |
|||||||||||||||||||||||||||||
LANGUAGE • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Указывает язык, применяемый в диалоговом окне. В многоязычных приложениях ресурсы для каждого из поддерживаемых языков должны находиться в файле описания ресурса. |
||||||||||||||||||||||||||||
Синтаксис |
LANGUAGE language, sublanguage |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
language |
Идентификатор языка. Допустимые значения представлены в описании функции EnumResourceLanguages в главе 7. |
||||||||||||||||||||||||||||
sublanguage |
Идентификатор диалекта языка. Допустимые значения представлены в описании функции EnumResourceLanguages в главе 7. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_MEXICAN |
|||||||||||||||||||||||||||||
MENU • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Применяется с диалоговыми окнами, имеющими меню. Этот оператор применяется не часто, но иногда может потребоваться. Меню должно быть определено в другом месте, например в файле описания ресурса RC программы. |
||||||||||||||||||||||||||||
Синтаксис |
MENU menuname |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
menuname |
Указывает идентификатор меню, предназначенного для использования. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
MENU testmenu |
|||||||||||||||||||||||||||||
STYLE |
• Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||
Описание |
Указывает стиль, применяемый при создании диалогового окна. Если диалоговое окно представляет собой немодальное диалоговое окно, следует обязательно включить~стиль WS_VISIBLE, чтобы не пришлось вызывать функцию ShowWindow для превращения диалогового окна в видимое. В диалоговых окна не могут применяться стили WM_MINIMIZEBOX и WM_MAXIMIZEBOX. |
||||||||||||||||||||||||||||
Синтаксис |
STYLE style |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Позволяет использовать все стили, перечисленные в табл. 3.4 главы 3, которые начинаются с WS_ или DS_. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
STYLE WS_DLGFRAME | WS_VISIBLE | WS_POPUP |
|||||||||||||||||||||||||||||
VERSION |
• Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||
Описание |
Позволяет разработчику указать версию для ресурса, которая может использоваться в инструментальных средствах, выполняющих чтение и за- |
||||||||||||||||||||||||||||
пись файлов определения ресурсов. Указанное значение игнорируется в системе Windows. |
|||||||||||||||||||||||||||||
Синтаксис |
VERSION dword |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
dword |
Определяемое пользователем значение двойного слова. Это значение появляется вместе с ресурсом в оттранслированном файле RES. Однако это значение не хранится в выполняемой программе. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
VERSION 10 |
|||||||||||||||||||||||||||||
Операторы элементов управления диалогового окна В системе Windows предусмотрены два равнозначных способа указания элементов управления дочернего окна в шаблоне диалогового окна. Один способ состоит в использовании явного оператора, такого как СОМВОВОХ. Другой способ предусматривает использование оператора CONTROL, который, в свою очередь, позволяет включать стиль СОМВОВОХ в качестве параметра. В следующих двух примерах показано создание одного и того же элемента управления. CONTROL "Push Me", IDC_BUTTON1, "button", BS_DEFPUSHBUTTON | WSJTABSTOP | WS_CHILD, 45, 66, 48, 12 DEFPUSHBUTTON "Push Me", IDC BUTTON1, 45, 66, 48, 12, WS TABSTOP Положение и размеры элемента управления обозначены в этих операторах цифрами. В приведенных ниже описаниях они обозначаются как х, у, width, height. Следует учитывать, что все значения должны быть представлены целыми числами и выражены в базовых единицах длины диалогового окна. Идентификационные значения для каждого элемента управления обычно должны быть определены в отдельном файле заголовка. Для элементов управления с необязательным параметром styleможно также выбрать стили WS_TABSTOP и/или WS_GROUP. Эти стили управляют применяемым по умолчанию интерфейсом клавиатуры, как было описано выше. Эти два стиля можно объединить с помощью двоичного оператора OR (|). Элементы управления диалоговых окон, созданных а качестве ресурса DIALOGEX, могут также содержать дополнительную информацию, которая определяет необязательные расширенные стили, идентификатор справки и данные, относящиеся к элементу управления. Данные, касающиеся элемента управления, содержатся в блоке BEGIN/ END, который следует за объявлением элемента управления. Ниже показан формат, применяемый для элементов управления всех типов. В качестве расширенного стиля может применяться один или несколько стилей WS_ и ЕХ_, перечисленных в табл. 3.5 в главе 3. (Control Type) , х, у, сх, су, [style] , [Extended Style] , [Help ID] [BEGIN data element 1 , data element 2 , END] |
|||||||||||||||||||||||||||||
AUT03STATE |
• Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||
Описание |
Определяет автоматический флажок с тремя состояниями. Этот элемент управления автоматически переключается между тремя состояниями: отмеченное, неотмеченное и неопределенное. Флажки принадлежат к классу окон BUTTON. Флажок с тремя состояниями применяется, когда выбор нельзя свести к двоичному выбору "on/off (разрешено/запрещено). Неопределенное состояние используется, когда нельзя дать однозначный ответ. |
||||||||||||||||||||||||||||
Синтаксис |
AUTO3STATE text, id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стиля BS_AUTO3STATE и следующих стилей: WSJTABSTOP, WS_DISABLED и WS_GROUP. Значение по умолчанию -BS_AUTO3STATE и WSJTABSTOP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
AUTO3STATE "File Read Only", IDC_READONLY , 3, 10, 35, 14 |
|||||||||||||||||||||||||||||
AUTOCHECKBOX • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления автоматическим флажком. Он аналогичен элементу управления CHECKBOX, за исключением того, что состояние устанавливается автоматически, когда пользователь выбирает данный элемент управления. При выборе этой кнопки приложение -получает извещение с помощью сообщения BN_CLICKED. |
||||||||||||||||||||||||||||
Синтаксис |
AUTOCHECKBOX text, id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стиля BS_AUTOCHECKBOX и следующих стилей: \YS_TABSTOP, \VS_DISABLED и WS_GROUP. Значения по умолчанию -BS_AUTOCHECKBOX и WS_TABSTOP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
AUTOCHECKBOX "Autosave On/Off", IDC_CHECKBOX , 3, 10, 35, 14 |
|||||||||||||||||||||||||||||
AUTORADIOBUTTON • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления автоматическим переключателем. Этот элемент управления аналогичен элементу управления RADIOBUTTON, за исключением того, что он автоматически выполняет взаимно исключающий выбор с учетом других элементов управления AUTORADIOBUTTON, принадлежащих той же группе. При выборе этой кнопки приложение получает извещение с помощью сообщения BN_CLICKED. |
||||||||||||||||||||||||||||
Синтаксис |
AUTORADIOBUTTON text, id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стиля BS_AUTORADIOBUTTON и следующих стилей: \VS_TABSTOP, WS_DISABLED и \YS_GROUP. Значения по умолчанию -BS_AUTORADIOBUTTON и WSJTABSTOP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
AUTORADIOBUTTON "Choice 1", IDC_CHECKBOX , 3, 10, 35, 14 |
|||||||||||||||||||||||||||||
CHECKBOX * Windows 98 «• Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления флажком. Флажки принадлежат к классу окон BUTTON. Они идеально подходят для указания взаимно исключающих вариантов выбора. Например, с помощью флажка можно указать, разрешено ли средство автоматического сохранения или запрещено. |
||||||||||||||||||||||||||||
Синтаксис |
CHECKBOX text, id, x, y, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стиля BS_CHECKBOX и следующих стилей: WSJTABSTOP, WS_DISABLED и WS_GROUP. Значения по умолчанию - BS_CHECKBOX и WS_TABSTOP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
CHECKBOX "Autosave On/Off", IDC_CHECKBOX , 3, 10, 35, 14 |
|||||||||||||||||||||||||||||
COMBOBOX «. Windows 98 * Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления полем со списком. Поля со списком состоят из элемента управления статическим текстом или элемента управления редактированием в верхней части, объединенного с выпадающим списком в нижней части, который служит для выполнения выбора. Список может отображаться постоянно или раскрываться пользователем. Если поле со списком содержит элемент управления статическим текстом, он всегда отображает выбранный текст (если выбор был сделан) в окне списка. Если в поле со списком используется элемент управления редактированием, пользователь может вводить желаемую строку выбора, и в поле списка высвечивается первый элемент, соответствующий тексту, введенному пользователем в окне редактирования. |
||||||||||||||||||||||||||||
Синтаксис |
COMBOBOX id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стиля класса COMBOBOX и следующих стилей: \VS_TABSTOP, WS_DISABLED, WS_VSCROLL и WS_GROUP. Значения по умолчанию -CBS_SIMPLE и WS_TABSTOP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
COMBOBOX IDC_COMBO, 40, 10, 60, 90, WS_VSCROLL |
|||||||||||||||||||||||||||||
CONTROL «• Windows 98 * Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет все формы элементов управления дочерним окном п диалоговым окне. В текстовом поле может быть указана символьная строка, которая может появиться в элементе управления. Эта символьная строка отображается не всегда. Например, элементы управления полем со списком не отображают строку до тех пор, пока эта строка не будет добавлена к телу списка с использованием сообщения LB_ADDTEXT. |
||||||||||||||||||||||||||||
Синтаксис |
CONTROL text, id, class, style, x, y, width, height, [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
text |
Указывает символьную строку, которая появляется в элементе управления. Эта строка отображается не во всех элементах управления. |
||||||||||||||||||||||||||||
id |
Указывает идентификатор элемента управления. |
||||||||||||||||||||||||||||
class |
Указывает класс элемента управления. Это может быть либо BUTTON, СОМВОВОХ, EDIT, LISTBOX, SCROLLBAR и STATIC, либо указанный пользователем класс элемента управления, определенный в приложении. |
||||||||||||||||||||||||||||
style |
Определяет стиль окна. Могут применяться стили, перечисленные в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример CONTROL "Push Me", IDC_BOTTON1 , "button", BS DEFPUSHBUTTON | WS TABSTOP | WS_CHILD , 45, 66, 48, 12 |
|||||||||||||||||||||||||||||
CTEXT * Windows 98 + Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет выровненный по центру элемент управления статическим текстом. Текст выравнивается по центру в границах прямоугольника, указанного параметрами х, у, width, height. Обычно элементы управления статическим текстом получают идентификационное значение -1, поскольку выбор этих элементов никогда не выполняется. Исключением из этого правила является изменение содержания текста в функции диалогового окна в процессе применения этого диалогового окна. ; |
||||||||||||||||||||||||||||
Синтаксис |
CTEXT text, id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стилей SS_CENTER, WSJTABSTOP и WS_GROUP. Значения по умолчанию — SS_CENTER и WS_GROUP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
CTEXT "Centered Text" -1, 10, 10, 100, 8 |
|||||||||||||||||||||||||||||
DEFPUSHBUTTON * Windows 98 + Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет применяемую по умолчанию кнопку для диалогового окна. Применяемой по умолчанию является кнопка, которая активизируется при нажатии пользователем клавиши Enter. В определении диалогового окна может быть только один элемент управления DEFPUSHBUTTON. Он отображается на экране с жирной рамкой. Другие кнопки должны иметь стиль PUSHBUTTON. |
||||||||||||||||||||||||||||
Синтаксис |
DEFPUSHBUTTON text, id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стилей BS_DEFPUSHBUTTON, WSJTABSTOP, WS_DISABLED и WS_GROUP. Значения по умолчанию — BS_DEFPUSHBUTTON и WS_TABSTOP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
DEFPUSHBUTTON "Cancel", IDC_CANCEL, 40, 10, 40, 14 |
|||||||||||||||||||||||||||||
EDITTEXT * Windows 98 + Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления редактируемым текстом в диалоговом окне. Элементы управления редактированием — это стандартный метод получения ввода от пользователя, который набирает текст или цифры. В системе Windows имеется множество встроенных средств, применяемых в элементах управления редактированием, которые в частности, обеспечивают выбор групп символов путем щелчка и перетаскивания курсора мыши, удаление и вставку символов, поддержку клавиш курсора (клавиш со стрелками) и т.д. Элементы управления редактированием могут содержать одну или несколько строк текста и включать горизонтальные и вертикальные линейки прокрутки для клиентской области элемента управления редактированием. |
||||||||||||||||||||||||||||
Синтаксис |
EDITTEXT id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили для элемента управления, которые могут представлять собой сочетание стилей класса элементов управления редактированием и следующих стилей: WS_TABSTOP, WS_DISABLED, WS_VSCROLL, WSJHSCROLL, WS_BORDER и WS_GROUP. Значения по умолчанию -ES_LEFT, WSJTABSTOP и WS_BORDER. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
EDITTEXT IDC EDIT, 10, 20, 45, 12, WS HSCROLL |
|||||||||||||||||||||||||||||
GROUPBOX • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Выводит на экран прямоугольник с заголовком в левой верхней части, окружающий группу элементов управления. Для указания взаимосвязанных опций и вариантов выбора принадлежащих узкому набору возможностей, часто применяются флажки или переключатели. Объединив взаимосвязанные опции в группу, можно подчеркнуть, что эти элементы управления принадлежат к одному набору возможностей. В элементе управления группой могут применяться стили WS_TABSTOP и WS_GROUP, но обычно лучше обеспечить получение фокуса ввода первым элементом в группе. |
||||||||||||||||||||||||||||
Синтаксис |
GROUPBOX text, id, x, y, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стилей BS_GROUPBOX, WSJTABSTOP, WS_DISABLED и WS_GROUP. Значение по умолчанию - BS_GROUPBOX. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
GROUPBOX "Filetype Choices", -1, 10, 10, 65, 100 |
|||||||||||||||||||||||||||||
ICON «• Windows 98 + Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Помещает пиктограмму в диалоговое окно. Пиктограммы принадлежат к статическому классу элементов управления. |
||||||||||||||||||||||||||||
Синтаксис |
ICON text, id, x, y, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
text |
Имя пиктограммы, указанное в каком-либо файле описания ресурса с помощью оператора ICON. |
||||||||||||||||||||||||||||
id |
Идентификатор метки-заполнителя пиктограммы в диалоговом окне. |
||||||||||||||||||||||||||||
х, у |
Координаты левого верхнего угла пиктограммы в базовых единицах длины диалогового окна. |
||||||||||||||||||||||||||||
style |
Единственный допустимый стиль — SS_ICON. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
ICON "generic", IDC ICON, 30, 30 |
|||||||||||||||||||||||||||||
LISTBOX • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления списком в диалоговом окне. Элемент управления списком — широко применяемое средство, позволяющее пользователю выбрать элемент из списка возможных вариантов. Если список включает стиль LBS_MULTIPLESEL, имеется возможность выбрать несколько элементов списка. Полный перечень возможных стилей приведен в табл. 3.4 в главе 3. |
||||||||||||||||||||||||||||
Синтаксис |
LISTBOX id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стилей класса элемента управления списком и следующих стилей: WS_BORDER и WSJVSCROLL. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
LISTBOX IDC_LIST, 10, 10, 50, 100, LBS_NOTIFY | WS_VSCROLL | WS_BORDER |
|||||||||||||||||||||||||||||
LTEXT • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления статическим текстом с выравниванием влево. Текст выравнивается вдоль левого края в границах прямоугольника, указанного параметрами х, у, width и height. Обычно элементы управления статическим текстом получают идентификационное значение -1, поскольку выбор этих элементов никогда не выполняется. Исключением из этого правила является изменение содержания текста в функции диалогового окна в процессе его применения. |
||||||||||||||||||||||||||||
Синтаксис |
LTEXT text, id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стилей SSJUEFT, WS_TABSTOP и \VS_GROUP. Значения по умолчанию — SS_LEFT и WS_GROUP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
LTEXT "Left Justified Text", -1, 10, 10, 150, 8 |
|||||||||||||||||||||||||||||
PUSHBOX * Windows 98 + Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления областью нажатия, который аналогичен элементу управления PUSHBUTTON, за исключением того, что в нем не отображается внешний вид или рамка кнопки, а отображается только текст. |
||||||||||||||||||||||||||||
Синтаксис |
PUSHBOX text, id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления областью нажатия, которые могут представлять собой сочетание стиля BS_PUSHBOX и следующих стилей: WSJTABSTOP, WS_DISABLED и WS_GROUP. Значения по умолчанию -BS_PUSHBOX и WSJTABSTOP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
PUSHBOX "Press Here", IDC_DONE, 40, 10, 40, 14 |
|||||||||||||||||||||||||||||
PUSHBUTTON • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет кнопку для диалогового окна. В диалоговых окнах обычно применяется по меньшей мере один элемент управления PUSHBUTTON (или DEFPUSHBUTTON), чтобы пользователь имел возможность закрыть диалоговое окно. В диалоговых окнах используются также другие кнопки для выполнения таких действий, как удаление, сортировка и т.д. |
||||||||||||||||||||||||||||
Синтаксис |
PUSHBUTTON text, id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления кнопкой, которые могут представлять собой сочетание стиля BS_PUSHBUTTON и следующих стилей: WSJTABSTOP, WS_DISABLED и WS_GROUP. Значения по умолчанию -BS_PUSHBUTTON и WS_TABSTOP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
PUSHBUTTON "Done", IDC_DONE, 40, 10, 40, 14 |
|||||||||||||||||||||||||||||
RADIOBUTTON • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления переключателем в диалоговом окне. Переключатели обычно используются в составе групп для обеспечения выбора одного варианта из нескольких возможных. Переключатели принадлежат к классу окон BUTTON. Пример применения этого элемента управления приведен в описании функции CheckRadioButton далее в этой главе. |
||||||||||||||||||||||||||||
Синтаксис |
RADIOBUTTON text, id, x, у, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стиля BS_RADIOBUTTON и следующих стилей: \VS_TABSTOP, WS_DISABLED и WS_GROUP. Значения по умолчанию -BS_RADIOBUTTON и WSJTABSTOP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
RADIOBUTTON "Select Option ON", IDC RADIO1, 10, 10, 40, 14 |
|||||||||||||||||||||||||||||
RTEXT + Windows 98 * Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления статическим текстом с выравниванием вправо. Текст выравнивается вдоль правого края в границах прямоугольника, указанного параметрами х, у, width и height. Обычно элементы управления статическим текстом получают идентификационное значение -1, поскольку выбор этих элементов никогда не выполняется. Исключением из этого правила является изменение содержания текста в функции диалогового окна в процессе его применения. |
||||||||||||||||||||||||||||
Синтаксис |
RTEXT text, id, x, у, width^ height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стилей SS_RIGHT, \VS_TABSTOP и \VS_GROUP. Значения по умолчанию — SS_RIGHT и WS_GROUP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
RTEXT "Right Justified Text", -1, 10, 10, 150, 8 |
|||||||||||||||||||||||||||||
SCROLLBAR * Windows 98 + Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет элемент управления линейкой прокрутки в диалоговом окне. Элементы управления линейкой прокрутки позволяют получать от пользователя результаты ввода таких значений, представимых в виде отрезков прямых разной длины, как целые числа. Линейки прокрутки можно также применять для прокрутки клиентской области окна, но такое средство в диалоговых окнах применяется редко. Самыми распространенными стилями являются SBS_VERT (для вертикальных линеек прокрутки) и SBS HORZ (для горизонтальных). Полный перечень стилей линейки прокрутки приведен в табл. 3.4 в главе 3. |
||||||||||||||||||||||||||||
Синтаксис |
SCROLLBAR id, x, у, width, height, [style], [extended state] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет сочетание стилей класса элемента управления линейкой прокрутки и следующих стилей: WSJTABSTOP, WS_GROUP и WS_DISABLED. Стиль, применяемый по умолчанию, — SBS_HORZ. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
SCROLLBAR DLI_SCROLL, 50, 10, 8, 50, SBS_VERT |
|||||||||||||||||||||||||||||
STATES * Windows 98 * Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Определяет флажок с тремя состояниями. Этот элемент управления может отображать три состояния: отмеченное, неотмеченное и неопределенное. Флажки принадлежат к классу окон BUTTON. Флажок с тремя состояниями применяется, когда выбор нельзя свести к двоичному выбору "on/off (разрешено/запрещено). Неопределенное состояние используется, когда нельзя дать однозначный ответ. |
||||||||||||||||||||||||||||
Синтаксис |
STATES text, id, x, y, width, height, [style], [extended style] |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
style |
Определяет стили элемента управления, которые могут представлять собой сочетание стиля BS_3STATE и следующих стилей: WS_TABSTOP, WS_DISABLED и WS_GROUP. Значения по умолчанию - BS_3STATE и WS_TABSTOP. Дополнительная информация о стилях окна представлена в табл. 3.4 главы 3. |
||||||||||||||||||||||||||||
Пример |
|||||||||||||||||||||||||||||
STATES "File Read Only", IDC_READONLY , 3, 10, 35, 14 |
|||||||||||||||||||||||||||||
Описания функций диалогового окна В табл. 8. 1 даны общие сведения о функциях диалоговых окон. За таблицей следуют подробные описания функций. |
|||||||||||||||||||||||||||||
Таблица 8.1. Общиесведенияофункцияхдиалоговыхокон |
|||||||||||||||||||||||||||||
Функция |
Назначение |
||||||||||||||||||||||||||||
CheckDIgButton |
Отмечает или снимает отметку с элемента управления диалогового окна |
||||||||||||||||||||||||||||
CheckRadioButton |
Переходит на выбранный элемент из группы переключателей |
||||||||||||||||||||||||||||
CreateDialog |
Создает немодальное диалоговое окно |
||||||||||||||||||||||||||||
CreateDialoglndirect |
Создает немодальное диалоговое окно |
||||||||||||||||||||||||||||
CreateDialoglndirectParam |
Создает немодальное диалоговое окно и передает 32-разрядное значение функции диалогового окна, когда она начинает обрабатывать сообщения |
||||||||||||||||||||||||||||
CreateDialogParam |
Создает немодальное диалоговое окно и передает 32-разрядное значение функции диалогового окна, когда она начинает обрабатывать сообщения |
||||||||||||||||||||||||||||
DefDIgProc |
Предоставляет предусмотренные по умолчанию средства обработки сообщений для диалоговых окон, созданных с использованием отдельного класса окна |
||||||||||||||||||||||||||||
DialogBox |
Создает модальное диалоговое окно |
||||||||||||||||||||||||||||
DialogBoxIndirect |
Создает модальное диалоговое окно |
||||||||||||||||||||||||||||
DialogBoxIndirectParam |
Создает модальное диалоговое окно и передает 32-разрядный элемент данных диалоговому окну в процессе его создания |
||||||||||||||||||||||||||||
DialogBoxParam |
Создает модальное диалоговое окно и передает 32-разрядный элемент данных диалоговому окну в процессе его создания |
||||||||||||||||||||||||||||
DlgDirList |
Заполняет указанный список именами всех файлов, соответствующих указанному критерию поиска имени пути или файла |
||||||||||||||||||||||||||||
DlgDirListComboBox |
Заполняет указанное поле со списком, передавая в него листинг каталога |
||||||||||||||||||||||||||||
DlgDirSelectComboBoxEx |
Позволяет получить текущий вариант выбора из поля со списком, заполненного с помощью функции DlgDirListComboBox |
||||||||||||||||||||||||||||
DlgDirSelectEx |
Позволяет получить текущий вариант выбора из простого списка |
||||||||||||||||||||||||||||
EndDialog |
Закрывает модальное диалоговое окно и возвращает управление вызывающей функции |
||||||||||||||||||||||||||||
Функция |
Назначение |
||||||||||||||||||||||||||||
GetDialogBaseUnits |
Определяет значения базовых единиц длины диалогового окна, используемых при создании диалоговых окон и определении положения элементов управления |
||||||||||||||||||||||||||||
GetDlgCtrllD |
Определяет идентификационное значение элемента управления диалогового окна, исходя из дескриптора окна этого элемента управления |
||||||||||||||||||||||||||||
GetDlgltem |
Определяет дескриптор окна элемента управления диалогового окна, исходя из идентификационного значения этого элемента управления |
||||||||||||||||||||||||||||
GetDlgltemlnt |
Выбирает целочисленное значение из элемента управления в диалоговом окне |
||||||||||||||||||||||||||||
GetDlgltemText |
Выбирает символьную строку из элемента управления редактированием в диалоговом окне |
||||||||||||||||||||||||||||
GetNextDlgGroupltem |
Ищет следующий (или предыдущий) дескриптор окна элемента управления, находящегося в диалоговом окне, который получит фокус ввода, если пользователь нажмет одну из клавиш со стрелкой |
||||||||||||||||||||||||||||
GetNextDlgTablfem |
Ищет следующий (или предыдущий) дескриптор окна элемента управления, находящегося в диалоговом окне, который получит фокус ввода, если пользователь нажмет клавишу Tab или комбинацию клавиш Shift+Tab |
||||||||||||||||||||||||||||
IsDialogMessage |
Определяет, предназначено ли сообщение для диалогового окна |
||||||||||||||||||||||||||||
IsDIgButtonChecked |
Определяет, отмечен ли элемент управления флажком илХ переключателем |
||||||||||||||||||||||||||||
MapDialogRect |
Выполняет преобразование из базовых единиц длины диалогового окна в экранные единицы длины (пиксели) |
||||||||||||||||||||||||||||
MessageBeep |
Воспроизводит звук в качестве предупреждения для пользователя |
||||||||||||||||||||||||||||
MessageBox |
Создает и отображает малое окно, содержащее сообщение |
||||||||||||||||||||||||||||
MessageBoxEx |
Создает и отображает окно сообщения с использованием указанного языка |
||||||||||||||||||||||||||||
MessageBoxIndirect |
Создает и отображает окно сообщения, которое содержит определяемый приложением текст сообщения, а также заголовок, пиктограмму и комбинацию кнопок |
||||||||||||||||||||||||||||
SendDlgltemMessage |
Посылает сообщение элементу управления диалогового окна |
||||||||||||||||||||||||||||
SetDlgltemlnt |
Преобразует текст в элементе управления диалоговым окном в целочисленное значение |
||||||||||||||||||||||||||||
SetDlgltemText |
Сменяет текст в элементе управления диалогового окна |
||||||||||||||||||||||||||||
CheckDlqButton • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Функция CheckDlgButton помещает отметку на элементе управления кнопкой (отмечает его), удаляет отметку с элемента управления кнопкой (снимает отметку) или изменяет состояние кнопки с тремя состояниями. Функция CheckDlgButton применяется с флажками и кнопками с тремя состояниями для вставки и удаления отметки с элемента управления. |
||||||||||||||||||||||||||||
Синтаксис |
BOOL CheckDlgButton( HWND hwndDlg, int idButton, UINT uCheck ) |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
hwndDlg |
HWND. Дескриптор диалогового окна, которое содержит кнопку. |
||||||||||||||||||||||||||||
id Button |
int. Идентификатор кнопки, состояние которой должно быть изменено. |
||||||||||||||||||||||||||||
и Check |
UINT. Состояние отметки кнопки. Этот параметр может иметь одно из значений, перечисленных в табл. 8.4 при описании функции IsDIgButton-Checked. |
||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения возвращаемое значение — TRUE; в ином случае возвращаемое значение — FALSE. |
||||||||||||||||||||||||||||
Включаемый файл |
winuser.h |
||||||||||||||||||||||||||||
См. также |
CheckRadioButton, CheckMenuItem |
||||||||||||||||||||||||||||
Соответствующие сообщения |
|||||||||||||||||||||||||||||
BM_SETCHECK |
|||||||||||||||||||||||||||||
Пример |
В следующем примере, который проиллюстрирован на рис. 8.1, показано модальное диалоговое окно, которое появляется при выборе пользователем пункта меню Test!. Диалоговое окно содержит флажок и набор из двух переключателей. В функции TestDlgProc в конце листинга показана типичная логика программы для поддержки флажков и переключателей, не имеющих стиля BS_AUTOXXXX. |
||||||||||||||||||||||||||||
Определение диалогового окна CHKDLGBT.RC |
|||||||||||||||||||||||||||||
TESTDIALOG DIALOGEX 20, 20, 180, 70 STYLE DS_MODALFRAME | WS POPUP | WS VISIBLE | WS CAPTION | WS SYSMENU CAPTION "Test Dialog" ~ FONT 8, "MS Sans Serif" BEGIN CHECKBOX "Check box control .", IDC CHECKBOX, 9,7 ,70,10 GROUPBOX "Radio Buttons" ,-1,7 ,21,86,39 RADIOBHTTON "First", IDC_RADIO1 , 13, 32 ,37 ,10 ,WS GROUP | WS TABSTOP RADIOBUTTON "Second" , IDC RADI02,13,45,39,10 PUSHBUTTON "Done",IDCANCEL,116,8,50,14,WS GROUP END |
|||||||||||||||||||||||||||||
Операторы # define с определением элементов диалогового окна в файле CHKDLGBT.H #define IDC CHECKBOX 101 #define IDC RADIO1 102 #define IDC RADIO2 103 ФункцииWndProc иTestDlgProc вфайлеCHKDLGBT.C Си. \local-sources\chap08\08-01.txt |
|||||||||||||||||||||||||||||
CheckRadioButton • Windows 98 * Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Переключатели объединяются в группы для обозначения возможности выбора одного варианта из группы взаимно исключающих вариантов. Функция CheckRadioButton устанавливает отметку на переключателе в группе (который становится отмеченным) и удаляет отметку со всех других переключателей в группе (которые становятся неотмеченными). Функция CheckRadioButton позволяет изменить состояние группы переключателей и обозначить сделанный выбор. |
||||||||||||||||||||||||||||
Синтаксис |
BOOL CheckRadioButton( HWND hwndDlg, int idFirstButton,iai idLastButton, int idCheckButton ) |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
hwndDlg |
HWND. Дескриптор диалогового окна, которое содержит переключатель. |
||||||||||||||||||||||||||||
idfirstButton |
int. Идентификатор первого переключателя в группе. |
||||||||||||||||||||||||||||
id Last Butt on |
int. Идентификатор последнего переключателя в группе. |
||||||||||||||||||||||||||||
idCheckButton |
int. Идентификатор переключателя, который должен быть выбран. |
||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения возвращаемое значение — TRUE; в ином случае возвращаемое значение — FALSE. |
||||||||||||||||||||||||||||
Включаемый файл |
winuser.h |
||||||||||||||||||||||||||||
См. также |
CheckDlgButton, CheckMenuItem |
||||||||||||||||||||||||||||
Соответствующие сообщения |
|||||||||||||||||||||||||||||
BM_SETCHECK |
|||||||||||||||||||||||||||||
Пример |
См. пример для функции CheckDlgButton. |
||||||||||||||||||||||||||||
CreateDialog • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Функция CreateDialog создает немодальное диалоговое окно из ресурса шаблона диалогового окна. Шаблон диалогового окна должен содержать стиль WS_VISIBLE. В противном случае необходимо применить функцию ShowWindow, чтобы сделать немодальное диалоговое окно видимым. В отличие от DialogBox, функция CreateDialog немедленно выполняет возврат, возвращая дескриптор созданного диалогового окна. Немодальные диалоговые окна закрываются путем вызова DestroyWindow в функции диалогового окна. Цикл обработки сообщений приложения для немодальных диалоговых окон должен быть изменен так, чтобы ввод с клавиатуры, направленный в диалоговое окно, был правильно обработан. |
||||||||||||||||||||||||||||
Синтаксис |
HWND CreateDialog( HINSTANCE hlnstance, LPCTSTR IpszTemplate, HWND hWndParent, DLGPROC dlgprc ) |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
hlnstance |
HINSTANCE. Дескриптор экземпляра модуля, выполняемый файл которого содержит шаблон диалогового окна. |
||||||||||||||||||||||||||||
IpszTemplate |
LPCTSTR. Указатель на символьную строку, содержащую имя шаблона диалогового окна в файле ресурса. Если параметр указывает идентификатор ресурса, его старшее слово должно быть равно 0, а младшее слово должно содержать идентификатор. Для создания этого значения применяется макрокоманда MAKEINTRESOURCE. |
||||||||||||||||||||||||||||
hWndParent |
HWND. Дескриптор родительского окна. Уничтожение родительского окна автоматически приводит к уничтожению немодального диалогового окна. |
||||||||||||||||||||||||||||
dlgprc |
DLGPROC. Указатель на процедуру диалогового окна. Процедура диалогового окна обрабатывает сообщения для диалогового окна. См. приведенное ниже описание DialogProc. |
||||||||||||||||||||||||||||
Возвращаемое значение |
HWND. В случае успешного выполнения возвращаемое значение — дескриптор диалогового окна; в ином случае возвращаемое значение — NULL. Для выборки расширенных данных об ошибках применяется функция GetLastError. |
||||||||||||||||||||||||||||
Включаемый файл |
winuser.h |
||||||||||||||||||||||||||||
См. также |
CreateDialoglndirect, CreateDialogParam, DestroyWindow,IsDialogMessage, SetFocus, DialogBox |
||||||||||||||||||||||||||||
Соответствующие сообщения |
|||||||||||||||||||||||||||||
WMJNITDIALOG |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL APIENTRY DialogProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM IParam ) |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
hDlg |
HWND. Дескриптор окна немодального диалогового окна. |
||||||||||||||||||||||||||||
uMsg |
UINT. Сообщение, передаваемое функции диалогового окна, например, WM_INITDIALOG, направляется функции диалогового окна непосредственно перед тем, как диалоговое окно станет видимым. |
||||||||||||||||||||||||||||
wParam |
WPARAM. Данные, относящиеся к сообщению |
||||||||||||||||||||||||||||
IParam |
LPARAM. Данные, относящиеся к сообщению |
||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. Функция диалогового окна должна возвратить TRUE, если функция обрабатывает сообщение, и FALSE, если над сообщением не выполняются никакие действия. Исключением из этого правила является обработка сообщения WM_INITDIALOG. В этом случае функция должна возвратить FALSE, если вызвана функция SetFocus; в ином случае возвращаемое значение — TRUE. Функция SetFocus применяется для определения элемента управления, который получит фокус ввода, когда диалоговое окно впервые станет видимым. Если функция SetFocus не используется, то фокус ввода принимает первый элемент управления в определении диалогового окна, имеющий стиль WS TABSTOP. |
||||||||||||||||||||||||||||
Пример |
В следующем примере создается такое же диалоговое окно, как и в примере, приведенном в описании функции CheckDlgButton, за исключением того, что это диалоговое окно является немодальным. Определение этого диалогового окна аналогично определению обычного (модального) диалогового окна. Обратите внимание, что для закрытия диалогового окна применяется функция DestroyWindow. Кроме того, дескриптор hDlgModelessв сообщении WM_DESTROY установлен в NULL, что позволяет завершить обработку сообщений для диалогового окна. |
||||||||||||||||||||||||||||
См. \local-sources\chap08\08-02 . txt |
|||||||||||||||||||||||||||||
CreateDialoglndirect • Windows 98 «• Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Функция CreateDialoglndirect аналогична CreateDialog, за исключением того, что шаблон диалогового окна указан с помощью указателя на память, содержащую этот шаблон. Шаблон диалогового окна может быть создан с нуля непосредственно в памяти либо загружен в память с помощью функции LoadResource. Определение диалогового окна в памяти описано в начале этой главы в разделе "Динамические диалоговые окна". Эта функция применяется для создания немодальных диалоговых окон, которые можно модифицировать в ходе выполнения программы (это так называемые динамические диалоговые окна). В качестве типичных приложений, созданных на основе этих диалоговых окон, можно назвать программы базы данных, в которых пользователь может добавлять или удалять поля из |
||||||||||||||||||||||||||||
базы данных. Применение этой функции обеспечивает больший контроль по сравнению с тем, когда программа загружает или исключает данные ресурса, которые содержат определение диалогового окна. Это может быть важно в приложениях, где используется большое число ресурсов и нужен контроль над тем, какие ресурсы должны быть загружены заранее и какие исключены. |
|||||||||||||||||||||||||||||
Синтаксис |
HWND CreateDialogIndirect( HINSTANCE hlnstance, LPCDLGTEMPLATE IpTemplate, HWND hWndParent, DLGPROC dlgprc ) |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
hlnstance |
HINSTANCE. Дескриптор экземпляра модуля, который создает диалоговое окно. |
||||||||||||||||||||||||||||
IpTemplate |
LPCDLGTEMPLATE. Указатель на глобальный объект памяти, который содержит шаблон, используемый для создания диалогового окна. Этот шаблон представлен в виде структуры DLGTEMPLATEEX, за которой следует одна или несколько структур DLGITEMTEMPLATEEX. |
||||||||||||||||||||||||||||
hWndParent |
HWND. Дескриптор родительского окна. Уничтожение родительского окна автоматически приводит к уничтожению немодального диалогового окна. |
||||||||||||||||||||||||||||
dlgprc |
DLGPROC. Указатель на процедуру диалогового окна. Процедура диалогового окна обрабатывает сообщения для диалогового окна. Определение функции DialogProc приведено в описании функции CreateDialog. |
||||||||||||||||||||||||||||
Возвращаемое значение |
HWND. В случае успешного выполнения возвращаемое значение ^дескриптор диалогового окна; в ином случае возвращаемое значение — NULL. Для выборки расширенных данных об ошибках применяется функция GetLastError. |
||||||||||||||||||||||||||||
Включаемый файл |
winuser.h |
||||||||||||||||||||||||||||
См. также |
CreateDialog, CreateDialogParam, CreateDialoglndirectParam, DestroyWindow, IsDialogMessage, SetFocus, DialogBox |
||||||||||||||||||||||||||||
Соответствующие сообщения |
|||||||||||||||||||||||||||||
WMJNITDIALOG |
|||||||||||||||||||||||||||||
Пример |
В следующем примере создается определение диалогового окна в памяти путем загрузки ресурса диалогового окна. Результат аналогичен тому, что получен в примере, представленном при описании функции CreateDialog. Единственное отличие состоит в обработке пункта меню IDMJTEST. Поскольку функция CreateDialoglndirect применяется для создания немодального диалогового окна, необходима определенная подготовка. Вначале информация диалогового окна загружается в память с помощью функции LoadResource. Затем выполняется блокировка блока памяти, содержащего информацию диалогового окна, с помощью функции LockResource. Функция LockResource возвращает указатель на область памяти, необходимый для вызова функции CreateDialoglndirect. В Win32 нет необходимости разблокировать и освобождать ресурсы. |
||||||||||||||||||||||||||||
См. \local-sources\chap08\08-03.txt |
|||||||||||||||||||||||||||||
CreateDialoglndirectParam * Windows 98 + Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Функция CreateDialoglndirectParam аналогична CreateDialoglndirect, за исключением того, что в ней предусмотрен дополнительный параметр. Этот дополнительный параметр позволяет передать функции диалогового окна значение LPARAM (обычно дескриптор памяти) во время запуска. Это самая сложная из всех функций немодального диалогового окна. С помощью нее можно создавать динамические диалоговые окна, изменяющиеся по мере выполнения программы. Применение указателя памяти для ресурса диалогового окна вместо имени шаблона диалогового окна позволяет получить больший контроль над загрузкой и исключением данных ресурса. Элемент данных LPARAM позволяет не применять в диалоговом окне глобальные переменные в качестве средства обмена информацией между функцией диалогового окна и остальной частью прикладной программы. |
||||||||||||||||||||||||||||
Синтаксис |
HWND CreateDialogIndirectParam( HINSTANCE hlnstance, LPCDLGTEMPLATE IpTemplate, HWND hWndParent, DLGPROC dlgprc, LPARAM IParamlnit ) |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
hlnstance |
HINSTANCE. Дескриптор экземпляра модуля, который создает диалоговое окно. |
||||||||||||||||||||||||||||
IpTemplate |
LPCDLGTEMPLATE. Указатель на глобальный объект памяти, который содержит шаблон диалогового окна, используемый для его создания. Этот шаблон представлен в виде структуры DLGTEMPLATE, за которой следует одна или несколько структур DLGITEMTEMPLATE. |
||||||||||||||||||||||||||||
hWndParent |
HWND. Дескриптор родительского окна. Уничтожение родительского окна автоматически приводит к уничтожению немодального диалогового окна. |
||||||||||||||||||||||||||||
dlgprc |
DLGPROC. Указатель на процедуру диалогового окна. Процедура диалогового окна обрабатывает сообщения для диалогового окна. Определение функции DialogProc приведено в описании функции CreateDialog. |
||||||||||||||||||||||||||||
IParamlnit |
LPARAM. Значение, передаваемое функции DialogProc в сообщении WM INITDIALOG. Обычно это значение применяется для передачи дескриптора блока памяти, содержащего данные, которые диалоговое окно должно использовать или изменить. |
||||||||||||||||||||||||||||
Возвращаемое значение |
HWND. В случае успешного выполнения возвращаемое значение — дескриптор диалогового окна; в ином случае возвращаемое значение — NULL. Для выборки расширенных данных об ошибках применяется функция GetLastError. |
||||||||||||||||||||||||||||
Включаемый файл |
winuser.h |
||||||||||||||||||||||||||||
См. также |
CreateDialog, CreateDialoglndirect, DestroyWindow, IsDialogMessage, SetFocus |
||||||||||||||||||||||||||||
Соответствующие сообщения |
|||||||||||||||||||||||||||||
WMJNITDIALOG |
|||||||||||||||||||||||||||||
Пример |
Следующий пример аналогичен приведенному в описании функции CreateDialogParam, за исключением изменений, которые требуются для функции CreateDialoglndirectParam. В обоих случаях для передачи дескриптора определяемой пользователем структуры данных, которая содержит |
||||||||||||||||||||||||||||
установки для кнопок диалогового окна, применяется значение LPARAM. Дополнительные сведения приведены в примере, который содержится в описании функции CreateDialogParam. |
|||||||||||||||||||||||||||||
См. \local-sources\chap08\08-04.txt |
|||||||||||||||||||||||||||||
CreateDialogParam • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Функция CreateDialogParam аналогична функции CreateDialog, за исключением того, что в ней имеется дополнительный параметр. Этот дополнительный параметр позволяет передавать функции диалогового окна значение LPARAM (обычно дескриптор памяти) во время запуска. |
||||||||||||||||||||||||||||
Синтаксис |
HWND CreateDialogParam( HINSTANCE hlnstance, LPCTSTR IpszTemplate, HWND hWndParent, DLGPROC dlgprc, LPARAM IParamlnit) |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
hlnstance |
HINSTANCE. Дескриптор экземпляра модуля, выполняемый файл которого содержит шаблон диалогового окна. |
||||||||||||||||||||||||||||
IpszTemplate |
LPCTSTR. Указатель на символьную строку, содержащую имя шаблона диалогового окна в файле ресурса. Если параметр указывает идентификатор ресурса, его старшее слово должно быть равно 0, а младшее слово должно содержать идентификатор. Для создания этого значения применяется макрокоманда MAKEINTRESOURCE. |
||||||||||||||||||||||||||||
hWndParent |
HWND. Дескриптор родительского окна. Уничтожение родительского окна автоматически приводит к уничтожению немодального диалоговЬго окна. |
||||||||||||||||||||||||||||
dlgprc |
DLGPROC. Указатель на процедуру диалогового окна. Процедура диалогового окна обрабатывает сообщения для диалогового окна. Определение функции DlgProc приведено в описании функции CreateDialog. |
||||||||||||||||||||||||||||
IParamlnit |
LPARAM. Значение, передаваемое функции DialogProc в сообщении WM_INITDIALOG в качестве значения IParam. Обычно это значение используется в приложении для передачи дескриптора блока памяти, содержащего данные, которые диалоговое окно должно использовать или изменить. |
||||||||||||||||||||||||||||
Возвращаемое значение |
HWND,, В случае успешного выполнения возвращаемое значение — дескриптор диалогового окна; в ином случае возвращаемое значение — NULL. |
||||||||||||||||||||||||||||
Включаемый файл |
winuser.h |
||||||||||||||||||||||||||||
См. также |
CreateDialog, CreateDialoglndirect, CreateDialoglndirectParam, DestroyWindow, IsDialogMessage, SetFocus, DialogBox |
||||||||||||||||||||||||||||
Соответствующие сообщения |
|||||||||||||||||||||||||||||
WMJNITDIALOG |
|||||||||||||||||||||||||||||
Пример |
Следующий пример аналогичен приведенному в описании функции CreateDialog, за исключением того, что для предотвращения использования глобальных переменных применяется функция CreateDialogParam. Для хранения данных о состоянии кнопок, необходимых для диалогового окна, применяется структура, определяемая пользователем, которая носит имя DLGDATA. Дескриптор памяти, содержащий эту структуру данных, передается функции диалогового окна при вызове функции CreateDialoglndirect. В ко- |
||||||||||||||||||||||||||||
нечном итоге этот дескриптор преобразуется в значение IParam, передаваемое функции TestDlgProc при получении сообщения WM_INITDIALOG. |
|||||||||||||||||||||||||||||
См. \local-sources\chap08\08-05. txt |
|||||||||||||||||||||||||||||
DefDIqProc + Windows 98 * Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Функция DefDIgProc выполняет предусмотренную по умолчанию обработку сообщений для оконной процедуры, принадлежащей к классу диалогового окна, определенного в приложении. Функция служит для обработки сообщений, предусмотренной по умолчанию, вместо DefWindowProc в функции WndProc для этого класса. Обычно система Windows выполняет обработку всех сообщений, не обработанных функцией диалогового окна. Исключением из этого правила является применение отдельного класса окна для диалогового окна. Для этого необходимо включить оператор CLASS в определение диалогового окна в файле ресурса приложения. |
||||||||||||||||||||||||||||
Синтаксис |
LRESULT DefDlgProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM IParam ) |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
hwndDlg |
HWND. Дескриптор диалогового окна. |
||||||||||||||||||||||||||||
uMsg |
UINT. Идентификатор сообщения. |
||||||||||||||||||||||||||||
wParam |
WPARAM. Дополнительная информация, зависящая от сообщения. |
||||||||||||||||||||||||||||
IParam |
LPARAM. Дополнительная информация, зависящая от сообщения. |
||||||||||||||||||||||||||||
Возвращаемое значение |
LRESULT. Результат обработки сообщения. Значение зависит от отправленного сообщения. |
||||||||||||||||||||||||||||
Включаемый файл |
windowsx.h |
||||||||||||||||||||||||||||
См. также |
RegisterClass |
||||||||||||||||||||||||||||
Соответствующие сообщения |
|||||||||||||||||||||||||||||
Все сообщения Windows, которые не были обработаны функцией диалогового окна, должны быть переданы функции DefDIgProc, если диалоговое окно имеет собственный класс. |
|||||||||||||||||||||||||||||
Пример |
В определение ресурса диалогового окна добавлен оператор CLASS. В этом случае для диалогового окна применяется класс BlueDlg. Это диалоговое окно аналогично показанному на рис. 8.1, за исключением того, что фон диалогового окна — синий. Обратите внимание, что в функции WndProc при обработке сообщения WM_CREATE создается отдельный класс для диалогового окна. Диалоговые окна, созданные с использованием этого класса, имеют синий фон. |
||||||||||||||||||||||||||||
Определение диалогового окна в файле DEFDLGP.RC |
|||||||||||||||||||||||||||||
TESTDIALOG DIALOGEX 0, 0, 180, 70 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Test Dialog" FONT 8, "MS Sans Serif" CLASS "BlueDlg" BEGIN CHECKBOX " Check box control . " , IDC CHECKBOX ,9,7,70,10 GROUPBOX "Radio Buttons" , -1 ,7 ,21,86,39 |
|||||||||||||||||||||||||||||
RADIOBUTTON "First", IDC RADIO1 , 13 ,32 ,37 ,10 ,WS GROUP | WS TABSTOP RADIOBUTTON "Second" , IDC RADIO2 , 13,45 ,39, 10 ~ PUSHBUTTON "Done",IDCANCEL,116,8,50,14,WS GROUP END |
|||||||||||||||||||||||||||||
Функции WndProc, BlueDlgProc и TestDlgProc в файле DEFDLGP.C |
|||||||||||||||||||||||||||||
Си. \local-sources\chap08\08-06.txt |
|||||||||||||||||||||||||||||
DialogBox • Windows 98 • Windows 2000 |
|||||||||||||||||||||||||||||
Описание |
Функция DialogBox создает модальное диалоговое окно из ресурса шаблона диалогового окна. Управление не возвращается до тех пор, пока заданная функция обратного вызова не закроет модальное диалоговое окно, вызвав функцию EndDialog. Для создания диалогового окна чаще всего применяется именно эта функция. Шаблон диалогового окна определяется в файле ресурса приложения. Должна быть также определена функция диалогового окна для обработки сообщений в процессе работы. |
||||||||||||||||||||||||||||
Синтаксис |
INT_PTR DialogBox( HINSTANCE hlnstance, LPCTSTR IpszTemplate, HWND hWndParent, DLGPROC dlgprc ) |
||||||||||||||||||||||||||||
Параметры |
|||||||||||||||||||||||||||||
hlnstance |
HINSTANCE. Дескриптор экземпляра модуля, выполняемый файл которого содержит шаблон диалогового окна. |
||||||||||||||||||||||||||||
IpszTemplate |
LPCTSTR. Указатель на символьную строку, содержащую имя шаблона диалогового окна в файле ресурса. Если параметр указывает идентификатор ресурса, его старшее слово должно быть равно 0, а младшее слово должно содержать идентификатор. Для создания этого значения применяется макрокоманда MAKEINTRESOURCE. |
||||||||||||||||||||||||||||
hWndParent |
HWND. Дескриптор родительского окна. Уничтожение родительского окна автоматически приводит к уничтожению немодального диалогового окна. |
||||||||||||||||||||||||||||
dlgprc |
DLGPROC. Указатель на процедуру диалогового окна. Процедура диалогового окна обрабатывает сообщения, предназначенные для диалогового окна. См. определение DialogProc в описании функции CreateDialog. |
||||||||||||||||||||||||||||
Возвращаемое значение |
INT_PTR. Возвращаемое значение равняется параметру nResult, переданному при вызове функции EndDialog. Возвращаемое значение равно -1, если диалоговое окно не может быть создано. |
||||||||||||||||||||||||||||
Включаемый файл |
winuser.h |
||||||||||||||||||||||||||||
См. также |
DialogBoxParam, DialogBoxIndirect, DialogBoxIndirectParam, CreateDialog |
||||||||||||||||||||||||||||
Соответствующие сообщения |
|||||||||||||||||||||||||||||
Большинство сообщений Windows может быть обработано диалоговым окном. При инициализации диалогового окна сообщение WM CREATE заменяется сообщением WM_INITDIALOG для диалоговых окон. |
|||||||||||||||||||||||||||||
Пример |
В примере, показанном на рис. 8.2, создается диалоговое окно для ввода целочисленного значения и символьной строки. Обратите внимание, что целочисленное значение и символьная строка, которые могут быть изменены в диалоговом окне, определены как глобальные переменные. |
||||||||||||||||||||||||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.