Управление размером окна программы
Модератор: Модераторы
Управление размером окна программы
Лазарус .......29 под Убунту.
По задумке окно программы имеет строго регламентированный размер, уменьшение и увеличение недопустимы. Если я выбираю параметр окна "BorderStyle" как "bsSingle" то после компиляции при наведении курсора на край окна и таская за него окно можно как уменьшать, так и увеличивать (чего как я понимаю быть недолжно). Пытаюсь выставить параметры "Constraints" максимум и минимум в одни и те же значения, но после компиляции окно программы становится недвижимостью, его нетолько растянуть невозможно но и сдвинуть с места. Это ошибка Лазаруса (lcl, fcl, компилятора) или я что то делаю не так?
По задумке окно программы имеет строго регламентированный размер, уменьшение и увеличение недопустимы. Если я выбираю параметр окна "BorderStyle" как "bsSingle" то после компиляции при наведении курсора на край окна и таская за него окно можно как уменьшать, так и увеличивать (чего как я понимаю быть недолжно). Пытаюсь выставить параметры "Constraints" максимум и минимум в одни и те же значения, но после компиляции окно программы становится недвижимостью, его нетолько растянуть невозможно но и сдвинуть с места. Это ошибка Лазаруса (lcl, fcl, компилятора) или я что то делаю не так?
qivi писал(а):"BorderStyle" как "bsSingle"
BorderStyle=bsDialog
Последний раз редактировалось v-t-l 23.09.2009 09:38:57, всего редактировалось 2 раза.
v-t-l писал(а):qivi писал(а):"BorderStyle" как "bsSingle"
BorderStyle=bsDialog
Всёравно окно под GTK2 будет менять свои размеры
Похоже зависит от WindowManager'а/WindowDecorator'а. У меня Compiz/Emerald - окно перемещается и не растягивается и при bsSingle, и при bsDialog. А может и от версии Lazarus'а - у меня 0.9.27 SVN 20802 (GTK2)
Последний раз под GTK2 писал ещё на 0.9.24 
Люди, сжальтесь... делать то что? Может это ошибка и о ней надо писать команде разработчиков, стабильная .......28 ещё не вышла, мож поправят?
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
Установить constraints надо.
Установить constraints надо.
Дак я же в первом посте написал к чему приводит их установка!!!
В onResize можно "запретить" менять размер
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
qivi писал(а):По задумке окно программы имеет строго регламентированный размер, уменьшение и увеличение недопустимы
Вот это зло. Ваш красивый и продуманный интерфейс улиетит куда нить при установке другой темы в DM. В таком случае обязательно надо делать привязки элементов и автомасштабирование окна.
В onResize можно "запретить" менять размер
Но там нет такого?!!!...
Вот это зло. Ваш красивый и продуманный интерфейс улиетит куда нить при установке другой темы в DM. В таком случае обязательно надо делать привязки элементов и автомасштабирование окна.
Я в пределах разумного это предусмотрел, во первых элементы окна заложенны с некоторым запасом размера, во вторых пользуюсь редактором привязок, а в третих можно и откозаться от шрифтов стандартной темы жёстко указав свои - ни самый плохой вариант.
Может сообщить разработчикам что под гтк bsSingle не отрабатывает? Только как и куда писать, никогда ещё этого не делал?
Добавлено спустя 22 часа 33 минуты 42 секунды:
Единственным хоть сколько то приемлемым решением стало прописывать constraints таким образом, что если мне нужно окно скажем 600х350, то эти цифры я прописываю в минимум, а в максимум значения на единицу больше. Таким образом и окно не перестаёт двигаться, и существенно изменить размер окна невозможно. Но это конечно извращения, должен же отробатывать bsSingle по нормальному... разве это не баг?
