В стандартном шаблоне диалогового окна структура DLGTEMPLATE и каждая из структур DLGITEMTEMPLATE должны быть выровнены по DWORD . Массив данных, находящийся после структуры DLGITEMTEMPLATE , также должен быть выровнен по DWORD . Все остальные массивы переменной длины в шаблоне должны быть выровнены по WORD .
В расширенном шаблоне диалогового окна заголовок DLGTEMPLATEEX и каждое из определений элементов управления DLGITEMTEMPLATEEX должны быть выровнены по DWORD . Массив данных, находящийся после структуры DLGITEMTEMPLATE , также должен быть выровнен по DWORD . Все остальные массивы переменной длины в шаблоне должны быть выровнены по WORD .
Все строки символов в шаблоне диалогового окна, такие как заголовки для диалогового окна и кнопок, должны быть строками UnicodE. Для написания кода, который работает как в Windows NT, так и в Windows 95, используйте функцию MultiByteToWideChar для создания строк UnicodE.
Windows 95: Система поддерживает максимум 16384 дескрипторов окон.
См. также
CreateDialog, CreateDialogIndirect, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow , WM_INITDIALOG, WM_SETFONT.
DefDlgProc
Функция DefDlgProc выполняет обработку сообщений по умолчанию для оконной процедуры, принадлежащей определяемому приложением классу диалогового окна.
LRESULT DefDlgProc (
HWND
UINT
WPARAM
LPARAM
);
Параметры
Возвращаемые значения
Возвращаемое значение определяет результат обработки сообщения и зависит от переданного сообщения.
Комментарии
Функция DefDlgProc является оконной процедурой для предопределенного класса диалогового окна. Эта процедура обеспечивает внутреннюю обработку для диалогового окна, перенаправляя сообщения оконной процедуре диалогового окна и производя обработку по умолчанию для сообщения, при обработке которого оконная процедура возвращает FALSE. Приложения, которые создают диалоговые окна на основе своих собственных классов диалоговых окон, часто используют DefDlgProc вместо DefWindowProc для обработки сообщений по умолчанию.
Приложения создают собственные классы диалоговых окон, заполняя структуру типа WNDCLASS соответствующей информацией и регистрируя класс с помощью функции RegisterClass . Некоторые приложения заполняют структуру, используя функцию GetClassInfo , указывая имя предопределенного диалогового окна. В таких случаях, приложения модифицируют, по меньшей мере, член
Функция DefDlgProc не должна вызываться оконной процедурой диалогового окна - это приведет к рекурсивным вызовам этих двух функций.
См. также
DefWindowProc, GetClassInfo, RegisterClass, WNDCLASS .
GetDialogBaseUnits
Функция GetDialogBaseUnits возвращает базовые координаты диалогового окна, используемые Windows для создания диалоговых окон. И Windows, и приложения используют эти координаты для преобразования ширины и высоты диалоговых окон и находящихся в них элементов управления из оконных координат, указанных в шаблонах диалоговых окон, в пиксели, и обратно.
LONG GetDialogBaseUnits ( VOID )
Параметры
Функция не имеет параметров.
Возвращаемые значения
Возвращается 32-битное значение, содержащее базовые координаты диалогового окна. Младшее слово возвращаемого значения содержит горизонтальные базовые координаты диалогового окна, старшее слово - вертикальные.
Комментарии
Горизонтальные базовые координаты диалогового окна равны средней ширине, в пикселях, символов системного шрифта, вертикальные - средней высоте символов системного шрифта. К тому же, горизонтальная базовая координата равна четырем горизонтальным оконным координатам диалогового окна, вертикальная базовая координата - восьми вертикальным оконным координатам диалогового окна. Таким образом, преобразование оконных координат в пиксели происходит по формулам: