В настоящее время я работаю над фрагментом кода, чтобы обойти модальные циклы для перемещения и изменения размера Windows, эффективно перепрограммируя DefWindowProc для процесса.
Первая ошибка, с которой я попал, - с MINMAXINFO. Кажется, что Windows заполняет это значением со значением по умолчанию перед отправкой сообщения вместе с WindowProc, поэтому просто отправка сообщения в окно, которое не отменяет значения, не принесет пользы. Полагая, что это не так просто, как дать размер окна рабочего стола для max и zeroes для min, я проверил, как ReactOS делает это в своем источнике и... ну, я не понимаю, почему они делают вещи, которые они делают при расчете.
В частности, они вызывают отказ от стиля WS_BORDER при вызове функции AdjustWindowRectEx. Их использование переменных под названием "xinc" и "yinc" также кажется мне необычным.
В принципе, я надеюсь, что кто-то, кто работал с кодом (или MINMAXINFO в целом), может объяснить, что мне не хватает. ReactOS: WinPosGetMinMaxInfo
Значения ptMaxSize
в структуре MINMAXINFO
не являются максимальным размером, на который вы можете перетащить размер, но какой размер будет, если окно фактически максимизируется. Когда окно максимизируется, толстая рамка удаляется (поскольку вы больше не хотите, чтобы пользователь взял границу и попытался изменить ее размер).
Убедитесь, что вы прочитали все детали в объяснении значений для MINMAXINFO
.