pour le (1) en fait, le test que tu dois faire c'est :
if (Msg.CmdType and $FFF0 = SC_MINIMIZE) then
concernant le inherited:
Ta TForm1 herite de TForm qui herite de TCustomForm qui definit WMSysCommand avec a l'interieur plein de trucs pour gerer l'alignement des fenetres, etc...
Quand tu redefinis WMSysCommand dans ta TForm1, le WMSysCommand de la TCustomForm ne vas plus etre appelé (puisque tu le redefinis !) et tu va donc intercepter tous les messages WM_SYSCOMMAND (par ex: SC_MAXIMIZE, SC_MINIMIZE, SC_MOVE, etc...)
dans l'exemple donné, tu ne geres que le type SC_MINIMIZE...
donc tous les autres messages vont passer a la trappe.
Le fait de mettre "inherited" a la fin va appeler la methode WMSysCommand de la classe dont tu herites (TForm en theorie, mais vu que WMSysCommand n'y est pas defini, ca va appeler le WMSysCommand de TCustomForm)
donc, dans l'exemple, tu vas faire ton test, faire ce que tu as a faire dans le cas ou le message est SC_MINIMIZE et grace au inherited, appelé le gestionnaire de WMSysCommand defini dans la classe parente, ce qui va te permetre de gerer le comportement standard de SC_MINIMIZE ainsi que tous les autres messages !
si tu as une version pro ou entreprise de Delphi (avec le source), tu peux jeter un oeil a l'unite Forms, procedure TCustomForm.WMSysCommand
pour le point (2), tu as dans les sources de ton projet:
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
qui t'affiche la form principale, c'est ca ?
et tu veux afficher une (ou n) formX (sur un click de bouton par ex.) et savoir si elles sont presentes ou non... c'est ca ?
---------------
www.alliancefrancophone.org ... Home is where the heart is