Тарас Сорока - Русский справочник по Win32 API
LPPOINT lppt // указатель на структуру для координат мыши
);
Параметры
hDrop - идентифицирует структуру, описывающую перемещенные мышью файлы.
lppt - указывает на структуру POINT , которую функция заполняет координатами мыши в тот момент, когда при перетаскивании файлов была отпущена левая кнопка мыши.
Возвращаемые значения
Если отпускание левой кнопки мыши происходит в клиентской области окна, то возвращается ненулевое значение.
Если отпускание левой кнопки мыши происходит вне клиентской области окна, то возвращается нуль.
Комментарии
Координаты курсора мыши возвращаются для окна, получающего сообщение WM _ DROPFILES .
См. также
DragQueryFile, POINT , WM_DROPFILES.
FindExecutable
Функция FindExecutable возвращает имя и дескриптор исполняемого (.ЕХЕ) файла, ассоциированного с указанным файлом.
HINSTANCE FindExecutable (
LPCTSTR lpFile , // указатель на строку с именем файла
LPCTSTR lpDirectory , // указатель на строку с директорией по
// умолчанию
LPTSTR lpResult // указатель на буфер для строки с именем
// возвращаемого .ЕХЕ файла
);
Параметры
lpFile - указатель на завершающуюся нулем строку, определяющую имя файла. Файл может быть либо документом, либо исполняемым файлом.
lpDirectory - указатель на завершающуюся нулем строку, определяющую директорию по умолчанию.
lpResult - указатель на буфер для имени возвращаемого функцией файла. Имя файла представляет собой завершающуюся нулем строку, определяющую исполняемый файл, который запускается при открытии файла, заданного параметром lpFile .
Возвращаемые значения
В случае успеха возвращаемое значение больше 32. В случае неудачи возвращаемое значение меньше или равно 32. В следующей таблице приведены возможные ошибочные значения:
Значение
Пояснение
0
Недостаток памяти или ресурсов.
31
Отсутствует ассоциация для данного типа файлов.
ERROR_FILE_NOT_FOUND
Указанный файл не найден.
ERROR_PATH_NOT_FOUND
Указанный путь не найден.
ERROR_BAD_FORMAT
Неверный формат .ЕХЕ файла (не Win32 .EXE или поврежденный файл)
Комментарии
При возвращении параметр lpResult может содержать путь к серверу DDE, запускаемому, если не получен ответ на запрос инициации DDE-диалога.
См . также
ShellExecute .
Заполненные фигуры
FrameRect
Функция FrameRect рисует границу вокруг заданного прямоугольника, используя указанную кисть. Ширина и высота границы всегда равны одной логической единице.
int FrameRect (
HDC hDC , // дескриптор контекста устройства
CONST RECT *lprc , // указатель на координаты прямоугольника
HBRUSH hbr // дескриптор кисти
);
Параметры
hDC - идентифицирует контекст устройства, в котором будет нарисована граница.
lprc - указывает на структуру типа RECT , которая содержит логические координаты верхнего левого и правого нижнего углов прямоугольника.
hbr - идентифицирует кисть, используемую для рисования границы
Возвращаемые значения
В случае успеха возвращается TRUE.
В случае неудачи возвращается FALSE. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Кисть, идентифицируемая параметром hbr , должна быть создана с использованием функций CreateHatchBrush, CreatePatternBrush или CreateSolidBrush , или извлечена с использованием функции GetStockObject .
Если член bottom структуры типа RECT меньше или равен члену top , или член right меньше или равен члену left , то функция не рисует прямоугольник.
См. также
CreateHatchBrush, CreatePatternBrush, CreateSolidBrush, GetStockObject, RECT .
Класс окна
GetClassName
Функция GetClassName извлекает имя класса, к которому принадлежит заданное окно.
int GetClassName (
HWND hWnd , // дескриптор окна
LPTSTR lpClassName , // адрес буфера для имени класса
int nMaxCount // размер буфера, в символах
);
Параметры
hWnd - идентифицирует окно и, неявно, класс, к которому оно принадлежит.
lpClassName - указывает на буфер, который получает строку с именем класса.
nMaxCount - определяет размер буфера, указанного параметром lpClassName , в символах. Строка с именем класса усекается, если ее длина больше размера буфера.
Возвращаемые значения
В случае успеха возвращается количество скопированных в буфер символов.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
См. также
FindWindow, GetClassInfo, GetClassLong, GetClassWord .
SetClassWord
Функция SetClassWord замещает 16-битное ( word ) значение в указанном смещении в дополнительной памяти класса для класса окна, которому принадлежит указанное окно.
WORD SetClassWord (
HWND hWnd , // дескриптор окна
int nIndex , // индекс заменяемого значения
WORD wNewWord // новое значение
);
Параметры
hWnd - идентифицирует окно, и, неявно, класс, к которому принадлежит окно.
nIndex - определяет отсчитываемое от нуля смещение замещаемого значения в байтах. Верные значения находятся в диапазоне от нуля до числа байт в памяти класса минус два. Например, если вы задали десять или более байт дополнительной памяти класса, восемь будет индексом пятого 16-битного значения.
wNewWord - определяет новое значение.
Возвращаемые значения
В случае успеха возвращается предыдущее значение 16-битного целого.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Зарезервируйте дополнительную память класса указанием ненулевого значения члена cbClsExtra структуры типа WNDCLASS , используемой с функцией RegisterClass .
Значения GCW _ в Win 32 API устарели. Вы должны использовать функцию SetClassLong для устновки значений класса, ранее устанавливаемых с использованием значений GCW _ функцией SetClassWord .
См. также
GetClassLong, GetClassWord, RegisterClass, SetClassLong, WNDCLASS .
UnregisterClass
Функция UnregisterClass удаляет класс окна, освобождая память, требуемую классу.
BOOL UnregisterClass (
LPCTSTR lpClassName , // адрес строки с именем класса
HINSTANCE hInstance // дескриптор экземпляра приложения
);
Параметры
lpClassName - указывает на завершающуюся нулем строку или целый атом. Если значение этого параметра является целым атомом, он должен быть глобальным атомом, созданным предыдущим вызовом функции GlobalAddAtom . Атом, 16-битное значение, меньшее 0 xC 000, должен находиться в младшем слове lpClassName ; старшее слово должно быть равно нулю.
Если значение lpClassName является строкой, она определяет имя класса окна. Это имя класса должно быть зарегистрировано предыдущим вызовом функции RegisterClass . Регистрация системных глобальных классов, таких, как классы элементов управления, не может быть отменена.
hInstance - определяет экземпляр модуля, создавшего класс.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае если класс не может быть найден или окно, созданное с этим классом, все еще существует, возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Перед вызовом этой функции приложение должно разрушить все окна, созданные с указанным классом.