2009-10-25 3 views
1

Просто попробовал небольшое мое графическое приложение на Windows 7, и я получаю событие WM_SIZE с loword == hiword == -1 - можно ли это безопасно игнорировать или имеет какое-то особое значение? Я никогда не видел таких размеров в XP/Vista, только в Windows 7. Документы не говорят о том, что может быть hiword/loword, поэтому я задаюсь вопросом, имеет ли значение -1 особый смысл. (Должен ли я проверять отрицательный результат в целом или -1 единственный случай?)WM_SIZE с loword == hiword == - 1?

+0

Whoa, lparam должен быть размером с окно и не должен быть -1. –

+0

Да, вот почему я озадачен, тем более что это ширина == height == - 1, которая входит в мое приложение :) – Anteru

ответ

2

Что находится в wParam? lParam должен содержать размер клиентской области окна, но wParam показывает, какой тип изменения размера произошел: minimized, maximize, ...

Я, кажется, помню, что если окно минимизировано, клиентская область не имеет размера, таким образом, странные значения в WM_SIZE. idem для значений, возвращаемых GetWindowPos() или GetWindowPlacement().