Функция DefDlgProcне должна вызываться оконной процедурой диалогового окна - это приведет к рекурсивным вызовам этих двух функций.
См. также
DefWindowProc, GetClassInfo, RegisterClass, WNDCLASS.
Функция GetDialogBaseUnitsвозвращает базовые координаты диалогового окна, используемые Windows для создания диалоговых окон. И Windows, и приложения используют эти координаты для преобразования ширины и высоты диалоговых окон и находящихся в них элементов управления из оконных координат, указанных в шаблонах диалоговых окон, в пиксели, и обратно.
LONG GetDialogBaseUnits( VOID)
Параметры
Функция не имеет параметров.
Возвращаемые значения
Возвращается 32-битное значение, содержащее базовые координаты диалогового окна. Младшее слово возвращаемого значения содержит горизонтальные базовые координаты диалогового окна, старшее слово - вертикальные.
Комментарии
Горизонтальные базовые координаты диалогового окна равны средней ширине, в пикселях, символов системного шрифта, вертикальные - средней высоте символов системного шрифта. К тому же, горизонтальная базовая координата равна четырем горизонтальным оконным координатам диалогового окна, вертикальная базовая координата - восьми вертикальным оконным координатам диалогового окна. Таким образом, преобразование оконных координат в пиксели происходит по формулам:
пиксель X = (диалоговая_координата X * базовая_координата X ) / 4
пиксель Y = (диалоговая_координата Y * базовая_координата Y ) / 8
Аналогично происходит преобразование пикселей в оконные координаты:
диалоговая_координата X = (пиксель X * 4) / базовая_координата X
диалоговая_координата Y = (пиксель Y * 8) / базовая_координата Y
См. также
MapDialogRect.
Функция GetDlgCtrlIDвозвращает идентификатор заданного элемента управления.
int GetDlgCtrlID(
HWND hwndCtl // дескриптор элемента управления
);
Параметры
hwndCtl - идентифицирует элемент управления.
Возвращаемые значения
В случае успеха возвращается идентификатор элемента управления.
В случае неудачи возвращается NULL . Вызов функции также закончится неудачей при неверном значении параметра hwndCtl .
Комментарии
GetDlgCtrlIDтакже принимает в качестве параметров и дескрипторы дочерних окон, наравне с дескрипторами элементов управления в диалоговых окнах. Приложение устанавливает идентификатор для дочернего окна, присваивая значение идентификатора параметру hMenu при вызове функций CreateWindowили CreateWindowEx.
Хотя функция GetDlgCtrlIDможет вернуть значение в случае, если параметр hwndCtl идентифицирует окно верхнего уровня, такие окна не могут иметь идентификаторов и, соответственно, не будет возвращено правильного значения.
См . также
CreateWindow, CreateWindowEx, GetDlgItem.
Функция CreateMailslotсоздает мэйлслот с указанным именем и возвращает дескриптор, который мэйлслотовый сервер может использовать для выполнения операций над мэйлслотом. Мэйлслот локален относительно компьютера, который его создал. Если мэйлслот с указанным именем существует, то происходит ошибка.
HANDLE CreateMailslot(
LPCTSTR lpName , // указатель на строку с именем мэйлслота
DWORD nMaxMessageSize , // максимальный размер сообщения
DWORD lReadTimeout , // миллисекунды до тайм - аута чтения
LPSECURITY_ATTRIBUTES lpSecurityAttributes // указатель
// на структуру безопасности
);
Параметры
lpName - указывает на завершающуюся нулем строку, определяющую имя мэйлслота. Строка должна иметь следующий вид:
\\.\mailslot\[path]name
Поле name должно быть уникальным. Имя может включать множественные уровни псевдодиректорий, разделенных символами обратного слэша. Например, правильными именами являются \\.\ mailslot \ example_mailslot_name и \\.\mailslot\abc\def\ghi .
nMaxMessageSize - определяет максимальный размер сообщения в байтах, которое может быть записано в мэйлслот. Для указания того, что сообщение может быть любого размера, установите значение этого параметра в нуль.
lReadTimeout - определяет количество времени, в миллисекундах, которое операция чтения может ждать сообщения, записанного в мэйлслот, до наступления тайм-аута. Следующие величины имеют специальные значения:
Читать дальше