Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Минимизация формы [D6, Win95/98]


REA ©   (2002-10-08 13:49:00) 

Есть главная форма, поверх нее еще одна предпочтительно модальная (в которой пользовать проводит достаточно много времени). Задача: иметь возможность минимизировать обе формы при попытке минимизации второй или спрятать за Desktop (как Win(флаг)+D). Можно наверно переделать интерфейс, но лень. После минимизации при нажатии на таск баре или AltTab и т.п. все должно восстанавливаться.


REA   (2002-10-08 14:57:00) [1]

Это я в курсе. Но раз оно разрешится, значит будет наверно сообщения ловить. Ну да ладно, думаю что не страшно. Спасибо еще раз.


Ученик   (2002-10-08 14:40:00) [2]

Для работы формы в модальном режиме все остальные окна приложения запрещаются, насчет побочных эффектов не знаю.


REA   (2002-10-08 14:35:00) [3]

Спасибо, работает. А до того Application не Enabled что ли?
Побочных эффектов не будет?


Ученик   (2002-10-08 14:31:00) [4]

....
EnableWindow(Application.Handle, True);
Application.Minimize;
....


REA   (2002-10-08 14:26:00) [5]

Все здорово, но в минимизированном состоянии по Alt-Tab не переключается.


REA   (2002-10-08 14:24:00) [6]

И то верно - работает. Спасибо!


Ученик   (2002-10-08 14:14:00) [7]

В Windows 95 работает


REA   (2002-10-08 14:10:00) [8]

А сам то попробовал? Я вроде такие трюки тоже хотел делать, но почему-то не получилось. То не минимизируется, то не восстанавливается.


Ученик   (2002-10-08 14:07:00) [9]

{ Delphi 7 }

procedure WMSysCommand(var Message : TWMSysCommand); message WM_SYSCOMMAND;
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.WMSysCommand(var Message : TWMSysCommand);
begin
if (Message.CmdType and $FFF0) = SC_MINIMIZE then begin
Application.Minimize;
Message.Result := 0
end else
inherited
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо