На поле битвы за ресайз
(
viewtopic.php?f=24&t=2622viewtopic.php?f=24&t=2645),
всплыла новая проблема.
Пользователь может так уменьшить окно, что масштабирование контролов приведёт к ошибкам округления. Да и уменьшать менее определённого размера (когда контролы становятся попросту неработоспособными) нет смысла!
Поэтому понадобилась такая возможность, как ограничение размера окна. В винде есть такая возможность: если достигнут минимальный размер окна, то рамка размеров просто перестаёт действовать. Чтобы задавать минимальные размеры окна, в WinApi надо обработать уведомление WM_GETMINMAXINFO.
Я заглянул в HostWindows и обнаружил, что в обработчике DocWinHandler есть закомментаренный блок:
Код:
(*
| USER32.WMGetMinMaxInfo:
w := ThisWindow(wnd);
IF (w # NIL) & (w.mw > 0) & (Windows.noResize IN w.flags) THEN
pm := SYSTEM.VAL(USER32.PMinMaxInfo, lParam);
pm.maxTrackSize.x := w.mw;
pm.maxTrackSize.y := w.mh;
Controllers.ResetCurrentPath();
RETURN 0
END
*)
Близок локоток, да не укусишь
В ББ 1.6 тоже закомментарено. Что это? Разработчики сомневаются в работоспособности схемы или просто не успели отладить?