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

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

Для каждого элемента управления значения стиля, которые определяют внешний вид и функционирование элемента управления определяет шаблон. Каждый элемент управления является дочернее окно и поэтому должны иметь WS_CHILD стиль. Чтобы сделать элемент управления видимым при отображении диалогового окна, каждый элемент управления должен также иметь WS_VISIBLE стиль. Другие часто используемые окна стили являются WS_BORDER для элементов управления, содержащих дополнительные границы, WS_DISABLED для элементов управления, которые должны быть отключены при первоначальном создании диалогового окна, и WS_TABSTOP и WS_GROUP для элементов управления, которые могут быть доступны с помощью клавиатуры. Стили WS_TABSTOP и WS_GROUP используются в сочетании с интерфейсом клавиатуры диалогового окна, описаны ниже в этом разделе.

Шаблон может также задать стили элементов управления, специфичные для класса окна элемента управления. Например шаблон, указывающий элемент управления button должны дать стиль элемента управления кнопки, такие как BS_PUSHBUTTON или BS_CHECKBOX. Система проходит стили элементов управления в процедуру окна элемента управления через сообщений WM_CREATE , позволяя процедуру адаптировать внешний вид и функционирование элемента управления.

Система преобразует координаты позиции и измерения ширины и высоты от базовых единиц диалоговое окно пикселей, перед передачей их в CreateWindowEx. Когда система создает элемент управления, он задает диалогового окна в качестве родительского окна. Это значит, что система всегда интерпретирует позиции координат элемента управления как клиентские координаты относительно верхнем левом углу клиентской области диалоговое окно "".

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

Каждый элемент управления в диалоговом окне должен иметь уникальный идентификатор, чтобы отличить его от других элементов управления. Контроль отправить информацию в процедуру диалогового окна через сообщения WM_COMMAND , поэтому идентификаторов элемента управления имеют важнейшее значение для процедуры для определения, какой элемент управления направил данное сообщение. Единственным исключением из этого правила являются управления идентификаторами для статических элементов управления. Статические элементы управления не требуются уникальные идентификаторы потому, что они посылают сообщения не WM_COMMAND.

Чтобы разрешить пользователю для закрытия диалогового окна, шаблон должен указать по крайней мере одна кнопка и придать ему идентификатор элемента управления IDCANCEL. Чтобы разрешить пользователю выбирать между завершения или отмены связанная с этим диалоговым окном, шаблон необходимо указать две кнопки, с надписью ОК и отменить с идентификаторами элемента управления IDOK и IDCANCEL, соответственно.

Шаблон также задает необязательный текст и создание данных для элемента управления. Текст обычно предоставляет метки для элементов управления button или определяет начальное содержимое статического текстового элемента управления. Создание данных — один или более байтов данных, система проходит процедуру окна элемента управления, при создании элемента управления. Создание данных для элементов управления, требующих дополнительные сведения о их первоначального содержания и стиля, чем другие данные. Например приложение может использовать данные для создания для задания начальной установки и диапазон для элементе управления полосы прокрутки.