Рейтинговые книги
Читем онлайн Русский справочник по Win32 API - Тарас Сорока

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 24 25 26 27 28 29 30 31 32 ... 34

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 .

Комментарии

Перед вызовом этой функции приложение должно разрушить все окна, созданные с указанным классом.

1 ... 24 25 26 27 28 29 30 31 32 ... 34
На этой странице вы можете бесплатно читать книгу Русский справочник по Win32 API - Тарас Сорока бесплатно.
Похожие на Русский справочник по Win32 API - Тарас Сорока книги

Оставить комментарий