Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2009, 14:06   #1
Alex_C
Пользователь
 
Регистрация: 11.12.2006
Сообщений: 10
По умолчанию Блокировка Form move/resize

Суть проблемы:
программа состоит из нескольких форм.
Пользователь попросил реализовать ф-цию блокировки изменения размеров/перемещения форм (чтоб случайно не сдвинуть).
Вот стоит проблема - как реализовать эту ф-цию сразу для всех открытых окон?

14:20

Да хотелось бы сказать, что про
Код:
procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest);
begin
inherited;
with Message do
begin
if Result = HTCAPTION then
Result := 0;
end;
end;
я знаю, но интересно, можно ли у всех форм реализовать это не прописывая отдельно для каждой вормы эту процедуру?

Вам тоже нужно напоминать о существовании кнопки "Правка" и тэга "Код"?

Последний раз редактировалось mihali4; 04.03.2009 в 14:57. Причина: Объединение постов
Alex_C вне форума Ответить с цитированием
Старый 04.03.2009, 15:13   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Запрет изменения размера:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
Constraints.MaxHeight:=400;
Constraints.MinHeight:=400;
Constraints.MaxWidth:=600;
Constraints.MinWidth:=600;
end;
Или проще:
Код:
procedure TForm1.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
begin
Resize:=False;
end;

Последний раз редактировалось mihali4; 04.03.2009 в 15:19.
mihali4 вне форума Ответить с цитированием
Старый 04.03.2009, 16:20   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Для запрета изменения размера проще установить у формы BorderStyle в bsSingle какой-нибудь.
Для запрета перемещения вот наверно только отлов WM_NCHitTest.
Чтобы не дублировать этот код для нескольких форм, попробуйте просто создать класс наследник от TForm с запретом изменения размера/положения, а все остальные формы просто наследуйте не от TForm, а от вашего класса.
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приостановить resize. Deight Общие вопросы Delphi 15 21.01.2009 11:25
Form IVANSour Общие вопросы Delphi 1 26.12.2008 23:49
resize диалоговой формы NieL Общие вопросы Delphi 2 18.12.2008 00:31
Form.Show в Form.Create UnD)eaD)Snake Общие вопросы Delphi 6 07.09.2007 11:13