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

Скрывать свернутые дочерние формы MDI приложения

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

Скрывать свернутые дочерние формы MDI приложения

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

// Write this code in your MDI Child Window unit. 
// Schreibe diesen Code in die Unit des MDI Child Fensters: 

type
   TfrmMyMDIForm = class(TForm)
   public
     procedure WMSize(var Msg: TWMSIZE); message WM_SIZE
   end;

 implementation

 procedure TfrmMyMDIForm.WMSize(var Msg: TWMSize);
 begin
   if Msg.SizeType = SIZE_MINIMIZED then
     ShowWindow(Handle, SW_HIDE);
 end;

Here's the translation of the text into Russian:

Код на Delphi - полезный снippet! Цель - скрыть (или "свернуть") дочернюю форму MDI, когда она минимальна. Это можно достичь, переопределив сообщение WM_SIZE в дочерней форме MDI.

Вот разбивка кода: 1. Определен класс TfrmMyMDIForm, который наследуется от TForm. Он объявляет единственный процедуру WMSize, которая будет обрабатывать сообщение WM_SIZE. 2. В разделе реализации определена процедура WMSize. Она проверяет, равна ли свойство SizeType параметра Msg (записи TWMSize) значению SIZE_MINIMIZED. 3. Если это так, код вызывает функцию ShowWindow с двумя аргументами: Handle (handle формы) и SW_HIDE (константа, скрывающая окно). Это будет скрыть дочернюю форму MDI, когда она минимальна.

Чтобы использовать этот код в вашем проекте Delphi: 1. Создайте новую дочернюю форму MDI (например, TfrmMyMDIForm), наследуясь от TForm. 2. Скопируйте и вставьте код в раздел реализации формы. 3. Compile and run your application.

Когда вы минимальизируете экземпляр этой формы, она будет скрыта от зрения. Если вам нужно снова покажать ее (т.е. восстановить нормальный размер и видимость), просто максимизируйте или восстановите форму с помощью соответствующих кнопок в заголовке окна.

Альтернативное решение: Если вы предпочитаете не использовать сообщение WM_SIZE, можно достичь аналогичного результата, обрабатывая событие OnMinimize дочерней формы MDI. Этот подход более прост и не требует переопределения системного сообщения. Вот пример:

procedure TfrmMyMDIForm.OnMinimize(Sender: TObject);
begin
  Hide;
end;

В этом случае, когда форма минимальна, метод Hide будет вызван, эффективно скрыв форму от зрения.

В статье описывается способ программного скрывания свернутых дочерних форм в приложении с многооконным интерфейсом (MDI) на языке Delphi.


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


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

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



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


реклама



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

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