Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/137: Рейтинг темы: голосов - 137, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
1

Как запретить изменять размер формы

19.02.2012, 02:34. Показов 28455. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите, как сделать так, что бы пользователь не мог изменять размеры окна формы, не убирая рамку с кнопками закрытия, свертывания/развертывания.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2012, 02:34
Ответы с готовыми решениями:

Как сделать, чтобы нельзя было изменять размер формы?
Всем Hello!!! Как сделать так, чтобы нельзя было изменять размер формы, т.е. форма при запуске...

Автоматически изменять размер объектов Image под размер формы
Как сделать чтобы после запуска программы в C++ Builder можно было изменить размер формы, и размер...

Как запретить изменять часть текста, который изначально введён в Edit?
Можно ли как-то запретить изменять часть текста, который изначально введён в Edit. Т.е., к примеру,...

Как изменять размер выделенной части Image?
подскажите как изменять размер выделенной части Image? есть ли функции какие то?

10
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
19.02.2012, 02:36 2
свойство формы BorderStyle установить в Single
4
80 / 80 / 9
Регистрация: 16.02.2010
Сообщений: 636
19.02.2012, 09:43 3
или в событии формы OnCanResize написать
C++
1
Resize = False;
2
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
19.02.2012, 14:21 4
Ещё можно в Constraints забить конкретные размеры, например
C++
1
2
3
4
MaxHeight = 600
MaxWisth = 800
MinHieght = 600
MinWidth = 800
3
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
19.02.2012, 14:59  [ТС] 5
получилось, спасибо большое
0
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
12.04.2012, 11:13 6
А как запретить развертывание формы?

Добавлено через 3 минуты
А, понял, надо подредактировать свойство формы BorderIcons.
0
67 / 67 / 10
Регистрация: 20.02.2012
Сообщений: 234
12.04.2012, 11:32 7
Цитата Сообщение от 1rop Посмотреть сообщение
Подскажите, как сделать так, что бы пользователь не мог изменять размеры окна формы, не убирая рамку с кнопками закрытия, свертывания/развертывания.
Всё очень просто:

Во-первых вам нужно в "Object Inspector" во вкладке "Properties" найти строчку "BorderStyle" и в выпадающем списке выбрать "bsSingle". //Форма перестанет сжиматься и расширятся.

Во-вторых вам нужно в "Object Inspector" во вкладке "Properties" найти строчку "BorderIcons" нажать на "+" и найти строчку "biMaximize" и установить для него значение "false". //У формы заблокируется кнопка расширение на весь экран.

В-третьих если вы хотите чтобы ваша форма появлялась по середине рабочего стола вам нужно в "Object Inspector" во вкладке "Properties" найти строчку "Position" и в выпадающем списке выбрать "poScreenCenter".
7
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
24.04.2018, 16:02 8
Pirat-SR, можно ли составляющие свойства BorderIcons поменять из программы на этапе выполнения? Если да, то как?
0
Практикантроп
4838 / 2724 / 532
Регистрация: 23.09.2011
Сообщений: 5,789
24.04.2018, 16:12 9
jkrnd, мне по прежнему нравится решение с ApplicationEventsMessage, - message 161 определяет операции на бордюре. А дополнительный фильтр по wParam позволяет выборочно блокировать кнопки ( 8, 9, 20 ). Например, такой код делает окно формы неперемещаемым, без возможности изменения размеров и перевода окна в состояние "на весь экран". И текста-то всего...
C++
1
2
3
4
5
6
7
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
      bool &Handled)
{
    if( Msg.message ==161 && Msg.wParam !=8 && Msg.wParam !=20) {
     Caption = "Alarm!" ;
     Handled = true;            }
}
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32955 / 21273 / 8168
Регистрация: 22.10.2011
Сообщений: 36,542
Записей в блоге: 8
24.04.2018, 16:16 10
Цитата Сообщение от jkrnd Посмотреть сообщение
можно ли составляющие свойства BorderIcons поменять из программы на этапе выполнения?
Можно:
C++
1
    this->BorderIcons = TBorderIcons() << biSystemMenu << biMinimize;
1
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
24.04.2018, 16:25 11
volvo, спасибо. Коротко и ясно, а я налепил аж на три строки:
C++
1
2
3
TBorderIcons icons = this->BorderIcons;
        icons >> biMaximize;
        this->BorderIcons = icons;
0
24.04.2018, 16:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2018, 16:25
Помогаю со студенческими работами здесь

Изменять размер панели под размер причаливаемых окон
Имеется панель, которая выравнена относительно главного окна как alLeft. На панель причаливаются и...

Как запретить изменять размер формы по ширине?
Всем привет, как запретить изменять размер по ширине, и разрешить менять размер по длине?

Запретить изменять размер формы мышкой
собственно как это сделать? на windows forms было просто FormBorderSyle = FixedSingle, а тут такого...

Как запретить изменять размер фреймов мышкой?
Как запретить изменять размер фреймов мышкой? Можно это сделать прост к примеру как отключить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru