Thursday, November 30, 2006

Minimalizace aplikace i s modálními formuláři

Jistě dobře víte, co to modální režim znamená. Někdy jsou tato okna až otravná, když nejdou minimalizovat. My si teď ukážeme, jak se dá minimalizovat aplikace (minimalizací jejího hlavního formuláře) i v tom případě, že některé modální formuláře (dialogy) obsahuje. Jak jinak v podobných případech, i zde využijeme systém zpráv Windows.
.
.
.
private
procedure WMSyscommand(var Msg: TWmSysCommand); message WM_SYSCOMMAND;

.
.
.
procedure TForm1.WMSysCommand(var Msg: TWmSysCommand);
begin
case (Msg.CmdType and $FFF0) of
SC_MINIMIZE:
begin
Msg.Result := 0;
EnableWindow(Application.Handle, True);
Aplication.Minimize;
end;
else inherited;
end;
end;