| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Как запретить resize окна |
| Автор: ProgramerForever 10.3.2008, 14:59 |
| Привет всем! скажите, как ограничить минимальные (и максимальные) размеры окна. В Delphi есть свойства MinHeight MaxWidth или какие-то подобные, не помню точно. Они ограничивают ресайз окна. Пробовал в обработчике resize изменять размеры, но получается дёрганно, да и окно всё равно меняет размеры (потом программно обработчик подгоняет под минимум. но это не решение). |
| Автор: BorisVorontsov 10.3.2008, 15:36 |
| Запросто. Лови и обрабатывай WM_SIZING/WM_WINDOWPOSCHANGING. |
| Автор: iff 10.3.2008, 15:44 |
| http://forum.vingrad.ru/forum/topic-179889/anchor-entry1316594/0.html |
| Автор: JusTalionis 10.3.2008, 19:46 |
| Если тебе просто надо запретить менять размеры (а не ограничивать макс-мин), то просто выставь свойство формы BorderStyle в Fixed Single (или Fixed Dialog, или другой какой-нибудь fixed). |
| Автор: Akina 11.3.2008, 09:27 |
| Так надо ОГРАНИЧИТЬ (т.е. менять можно, но в заданных пределах) или ЗАПРЕТИТЬ (менять нельзя вообще)? |
| Автор: ProgramerForever 11.3.2008, 19:20 |
| Ограничить. Это более гибкое решение, чем запретить. |
| Автор: Akina 11.3.2008, 21:30 | ||
В таком разе
|
| Автор: ProgramerForever 12.3.2008, 08:32 |
| Нет, такое решение не подходит, я писал в первом топике: получается дёрганно, сами попробуйте. |
| Автор: Akina 12.3.2008, 09:11 |
У меня получается нормально, никаких дерганий. |
| Автор: JusTalionis 12.3.2008, 09:32 | ||
| Тогда делаешь так: Запрещаешь изменение размеров формы мышкой (делаешь ее Fixed, как было сказано), и изменяешь ее размеры программно:
Ну можно еще приделать ограничение, чтоб мышь чувствовалась только у границы формы, сменить значок курсора на стрелочки ресайза, и тому подобные украшательства))) |
| Автор: Rrader 12.3.2008, 14:09 |
| Пример в аттаче |
| Автор: Naghual 12.3.2008, 14:27 |
| Rrader, отличный пример. |
| Автор: Akina 12.3.2008, 16:40 |
| Пример размещен в FAQ |