Тарас Сорока - Русский справочник по Win32 API
Когда логический шрифт вам больше не нужен, вызовите для его удаления функцию DeleteObject .
См. также
DeleteObject, LOGFONT, SelectObject .
Сообщения и очереди сообщений
GetQueueStatus
Функция GetQueueStatus возвращает флаги, которые показывают тип сообщений, обнаруженных в очереди сообщений вызывающего потока.
DWORD GetQueueStatus (
UINT flags // флаги состояния очереди
);
Параметры
flags - определяет флаги состояния очереди, указывая типы сообщений для проверки. Может быть комбинацией следующих значений:
Значение
Пояснение
QS_ALLEVENTS
Сообщение ввода, WM_TIMER, WM_PAINT, WM_HOTKEY или помещенное в очередь сообщение.
QS_ALLINPUT
Любое сообщение ввода.
QS_HOTKEY
Сообщение WM_HOTKEY .
QS_INPUT
Сообщение ввода.
QS_KEY
Сообщение WM_KEYUP, WM_KEYDOWN, WM_SYSKEYUP или WM_SYSKEYDOWN в очереди.
QS_MOUSE
Сообщение WM_MOUSEMOVE или сообщение клавиши мыши ( WM_LBUTTONUP, WM_RBUTTONDOWN и т. п.).
QS_MOUSEBUTTON
Сообщение клавиши мыши ( WM_LBUTTONUP, WM_RBUTTONDOWN и т. п.).
QS_MOUSEMOVE
Сообщение WM_MOUSEMOVE.
QS_PAINT
Сообщение WM_PAINT .
QS_OSTMESSAGE
Помещенное сообщение, отличное от перечисленных выше, находится в очереди.
QS_ENDMESSAGE
Сообщение, отправленное другим потоком или приложением, находится в очереди.
QS_TIMER
Сообщение WM_TIMER .
Возвращаемые значения
Старшее слово показывает типы сообщений, находящихся в очереди. Младшее слово показывает типы сообщений, которые были добавлены в очередь и все еще там находятся с момента последнего вызова функции GetQueueStatus : GetMessage или PeekMessage .
Комментарии
Присутствие флага QS_ в возвращаемом значении не гарантирует, что последующий вызов функции PeekMessage или GetMessage вернет сообщение. PeekMessage или GetMessage выполняют определенную внутреннюю фильтрацию, которая может привести ко внутренней обработке сообщения. По этой причине, возвращаемое функцией GetQueueStatus значение должно быть рассматриваемо только как намек на то, должна ли быть вызвана функция GetMessage или PeekMessage .
См. также
GetInputState, GetMessage, PeekMessage .
Кисти
CreatePatternBrush
Функция CreatePatternBrush создает логическую кисть с указанным шаблоном в виде битового изображения. Битовое изображение не может быть независимым от оборудования битовым изображением ( DIB ), которое создано функцией CreateDIBSection .
HBRUSH CreatePatternBrush (
HBITMAP hbmp // дескриптор битового изображения
);
Параметры
hbmp - идентифицирует битовый образ, используемый для создания логической кисти.
Windows 95: Создание кистей из битовых образов размером более 8 x 8 пикселей не поддерживается. Если указан битовый образ большего размера, используется его часть.
Возвращаемые значения
В случае успеха возвращается дескриптор логической кисти.
В случае неудачи возвращается NULL .
Комментарии
Шаблонная кисть - это битовый образ, который Windows использует для рисования внутренних частей закрашенных фигур.
После того, как приложение создало кисть, вызвав функцию CreatePatternBrush , оно может выбрать эту кисть в любой контекст устройства при помощи функции SelectObject .
Вы можете удалить шаблонную кисть без воздействия на связанный битовый образ, используя функцию DeleteObject . Таким образом, вы можете использовать этот битовый образ для создания какого угодно числа шаблонных кистей.
Кисть, созданная с использованием монохромного битового образа, имеет цвета текста и фона того контекста устройства, в котором происходит рисование. Пиксели, представляемые нулевым битом, отрисовываются текущим цветом текста; пиксели, представляемые единичным битом, отрисовываются текущим цветом фона.
Битовое изображение, идентифицируемое значением параметра hbmp , не может быть независимым от оборудования битовым изображением ( DIB ), которое создано функцией CreateDIBSection . Если оно является независимым от оборудования битовым изображением, то вызов CreatePatternBrush завершается неудачей.
См. также
CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateDIBSection, CreateHatchBrush, DeleteObject, GetBrushOrgEx, LoadBitmap, SelectObject, SetBrushOrgEx .
Библиотека оболочки
DragAcceptFiles
Функция DragAcceptFiles регистрирует окно, если оно принимает перетаскиваемые на него файлы.
VOID DragAcceptFiles (
HWND hWnd , // дескриптор окна
BOOL fAccept // опция разрешения принятия файлов
);
Параметры
hWnd - идентифицирует окно, регистрируемое, если оно принимает перетаскиваемые на него файлы.
fAccept - определяет, принимает ли окно, определенное параметром hWnd , перетаскиваемые на него файлы. Значение TRUE разрешает принятие файлов, значение FALSE его запрещает.
Возвращаемые значения
Функция не возвращает значения.
Комментарии
Приложение, вызывающее DragAcceptFiles со значением TRUE параметра fAccept идентифицирует себя как способное обрабатывать сообщение WM_DROPFILES от диспетчера файлов.
См . также
WM_DROPFILES.
DragFinish
Функция DragFinish освобождает память, которую Windows выделила для использования в процессе передачи имен файлов в приложение.
VOID DragFinish (
HDROP hDrop // дескриптор освобождаемой памяти
);
Параметры
hDrop - идентифицирует структуру, описывающую перемещенные мышью файлы. Этот дескриптор извлекается из параметра wParam сообщения WM_DROPFILES.
Возвращаемые значения
Функция не возвращает значения.
См . также
WM_DROPFILES.
DragQueryFile
Функция DragQueryFile извлекает имена перемещенных мышью файлов.
UINT DragQueryFile (
HDROP hDrop , // дескриптор структуры для перемещенных файлов
UINT iFile , // индекс запрошенного файла
LPTSTR lpszFile , // буфер для имени файла
UINT cch // размер буфера для имени файла
);
Параметры
hDrop - идентифицирует структуру, содержащую имена файлов.
iFile - определяет индекс запрашиваемого файла. Если значение параметра iFile равно 0 xFFFFFFFF, DragQueryFile возвращает число перемещенных файлов. Если значение параметра iFile лежит между нулем и количеством перемещенных файлов, DragQueryFile копирует соответствующее значению им файла в буфер, указанный параметром lpszFile .
lpszFile - указывает на буфер для имени перемещенного файла. Им файла представляет собой завершающуюся нулем строку. Если значение lpszFile равно NULL, DragQueryFile возвращает необходимый размер буфера в символах.
cch - определяет размер буфера в символах.
Возвращаемые значения
Когда функция копирует имя файла в буфер, то возвращается число скопированных символов без учета завершающего нулевого символа.
Если значение параметра iFile равно 0 xFFFFFFFF, то возвращается число перемещенных мышью файлов.
Если значение параметра iFile лежит между нулем и количеством перемещенных файлов, и значение параметра lpszFile равно NULL, возвращается требуемый размер буфера, в символах, без учета завершающего нулевого символа.
См . также
DragQueryPoint .
DragQueryPoint
Функция DragQueryPoint возвращает позицию курсора мыши в тот момент, когда при перетаскивании файлов была отпущена левая кнопка мыши.
BOOL DragQueryPoint (
HDROP hDrop , // дескриптор структуры для перемещенных файлов
LPPOINT lppt // указатель на структуру для координат мыши