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

Как спрятать окна MDI Child

Delphi , Программа и Интерфейс , MDI приложения

Как спрятать окна MDI Child


procedure TCustomForm.VisibleChanging;
begin
  if (FormStyle = fsMDIChild) and Visible then
    raise EInvalidOperation.Create(SMDIChildNotVisible);
end;

Хорошая вопроска! Чтобы скрыть окно MDI-ребенка, вы можете использовать метод Hide вместо установки свойства Visible в False. Это потому что когда окно ребёнок скрыто, оно не будет получать никакие сообщения о рисовании или другие события UI.

Когда вы устанавливаете Visible в False, окно все еще присутствует в памяти и может продолжать получать уведомления от системы. Поскольку скрывать окно вместо этого, вы обеспечиваете, что оно будетproperly удалено из UI и его ресурсы будут освобождены.

В вашем коде вы можете изменить обработчик события VisibleChanging следующим образом:

procedure TCustomForm.VisibleChanging;
begin
  if (FormStyle = fsMDIChild) and Visible then
    Hide; // вместо вызова исключения
end;

Таким образом, когда пользователь пытается отобразить окно ребёнка, которое не должно быть видимо (по вашей бизнес-логике), оно просто спрячется без вызова ошибки.

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

Например:

private
  FShouldBeVisible: Boolean;
...
procedure TCustomForm.VisibleChanging;
begin
  if (FormStyle = fsMDIChild) then
    if not FShouldBeVisible then
      Hide; // скрыть окно ребёнка, если оно не должно быть видимо
end;

Используя флаг в этом виде, вы можете отделить видимость окна ребёнка от его свойства Visible и обеспечить больше гибкости в логике вашего приложения.

Процедура VisibleChanging позволяет скрыть окно MDI Child, предотвращая изменение его видимости при помощи проверки типа формы и ее видимости.


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


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

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



:: Главная :: MDI приложения ::


реклама



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

Время компиляции файла: 2024-05-19 17:53:24
2024-05-20 00:37:02/0.0042569637298584/2