Фиксация размеров формы

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Mike81
незнакомец
Сообщения: 9
Зарегистрирован: 20.02.2012 14:11:36

Фиксация размеров формы

Сообщение Mike81 »

Добрый день!
Возникла следующая ситуация.
Имеется форма в которой необходимо чтобы ширина формы была строго фиксированной, а высота формы могла меняться в пределах от скажем height >=100 и height <=500.
Что получилось сделать так это создать для формы событие FormResize где проверяются размеры формы и в соответствии с условием выше контролируются размеры формы.

procedure TForm1.FormResize(Sender: TObject);
begin
if width<> 800 then width := 800;
if height < 100 then height := 100 else
if height > 500 then height := 500.

end;
Однако такой способ контроля за размерами формы не выглядит самым лучшим т.к. пользователю удается все таки растянуть форму на некоторое время до проверки этого условия. То есть форма при растягивании больше своих размеров выглядит как бы "резиновой". При превышении размеров формы заданными условиями форма стремится вернуть ее размеры до заданных условием. На самом деле хотелось бы получить результат как скажем borderstyle := bsSingle где границы строго зафиксированы. Т.е. при попытке растянуть форму больше чем ей положено форма четко фиксировалась бы на максимальном(минимальном) указанном значении.
Mikhail
энтузиаст
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Сообщение Mikhail »

Mike81 писал(а):
Фиксация размеров формы

Непрочитанное сообщение Mike81 » 30.03.2015 09:59:46
Добрый день!
Возникла следующая ситуация.
Имеется форма в которой необходимо чтобы ширина формы была строго фиксированной, а высота формы могла меняться в пределах от скажем height >=100 и height <=500.


Смотрите свойство Constraints.
Mike81
незнакомец
Сообщения: 9
Зарегистрирован: 20.02.2012 14:11:36

Сообщение Mike81 »

Спасибо за ответ!
Ответить