| OberonCore https://forum.oberoncore.ru/  | 
|
| Как ограничить размеры окна? https://forum.oberoncore.ru/viewtopic.php?f=24&t=2646  | 
	Страница 1 из 1 | 
| Автор: | Иван Кузьмицкий [ Воскресенье, 16 Май, 2010 14:11 ] | 
| Заголовок сообщения: | Как ограничить размеры окна? | 
На поле битвы за ресайз (viewtopic.php?f=24&t=2622 viewtopic.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 из 1 | Часовой пояс: UTC + 3 часа | 
| Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/  | 
|