Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Предохранить форму от перемещения и изменения размеров

Delphi , Программа и Интерфейс , Размеры и Положение

Предохранить форму от перемещения и изменения размеров

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

private

    procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;

   {...}
 implementation


 procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
 begin
   if ((Msg.CmdType and $FFF0) = SC_MOVE) or
     ((Msg.CmdType and $FFF0) = SC_SIZE) then
   begin
     Msg.Result := 0;
     Exit;
   end;
   inherited;
 end;

Код, который вы предоставили, - это метод для предотвращения перемещения или изменения размера формы, интерсептируя и модифицируя сообщение WMSysCommand.

Вот подробное описание того, что код делает:

  1. Процедура WMSysCommand объявляется как приватный метод в классе формы.
  2. Она переопределяет стандартную реализацию сообщения WMSysCommand, которая обычно обрабатывается фреймворком Delphi.
  3. В процедуре она проверяет, соответствует ли тип команды (хранящийся в свойстве Msg.CmdType) ни одному из значений SC_MOVE или SC_SIZE.
  4. Если команда - это операция перемещения или изменения размера, она устанавливает свойство Result сообщения TWMSysCommand в 0. Это эффективно отменяет операцию и предотвращает изменение формы.
  5. Затем код вызывает метод наследника (inherited) для разрешения обработки события другими обработчиками сообщения WMSysCommand.

Цель этого кода - заблокировать форму, чтобы она не могла быть взаимодействована пользователем в определенных способах, таких как перемещение или изменение размера.

Альтернативное решение могло бы быть использование свойства FormBorderStyle и установкой его в значение, например, fsFixedDialog, что бы предотвратило изменение размера формы. Однако, это метод не полностью заблокировал форму, потому что пользователь все еще мог попытаться ее переместить.

Также стоит отметить, что этот код специфичен для Delphi и может не быть применимым в других программных средах.

В статье описывается способ предотвращения перемещения и изменения размеров формы в Delphi, используя обработку событий WM_SYSCOMMAND.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Размеры и Положение ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 22:44:06/0.004647970199585/2