jak mozna przechwycic w delphi ze uzytkownik nacisnal przycisk minimalizacji w ikonach systemowych okna
zdaje sie, ze jest taki event - onMinimize czy jakos tak...
zdaje sie, ze jest taki event - onMinimize czy jakos tak...
ale w komponencie z zakładki Additional o nazwie ApplicationEvents
mozesz sciagnac komponenty ABF non-visual ze stronki www.abfsoftware.com. Potem umiesc na formie TApplicationProperties - tam masz duzo nowych eventow.
a jesli glowna forma jest ukryta to jak na formie potomnej zlapac to zdarzenie???
Wstaw na nią ten komponent i już masz:
<font color="blue">procedure TForm2.ApplicationEvents1Minimize(Sender: TObject);</span>
nic nie dziala.
mam cos takiego na formie glownej
hide;
form2.show;
i jesli form2 minimalizuje to leci mi nad pasek a zdarzenie onminimize nie jest wywolywane.
co zrobic
To mój pierwszy post na forum :-)
A to odpowiedź :
W deklaracji klasy TForm1 piszemy:
type
TForm1 = class(TForm)
procedure WMSysCommand(var Message:TWMSysCommand); message WM_SysCommand;
private
{ Private declarations }
public
{ Public declarations }
end;
A później:
procedure TForm1.WMSysCommand(var Message:TWMSysCommand);
begin
if message.CmdType=SC_MINIMIZE then
begin
//tutaj nasze instrukcje
end;
inherited
end;
I to wszystko. Można jeszcze dodać SC_CLOSE, SC_MAXIMIZE, SC_RESTORE.
Polecam przejrzenie modułu messages (komunikat WMSysCommand)
Jeszcze jedno
Jeśli chcemy aby okienko się nie minimalizowalo to piszemy tak:
procedure TForm1.WMSysCommand(var Message:TWMSysCommand);
begin
if message.CmdType=SC_MINIMIZE then
begin
//tutaj nasze instrukcje
end
else
inherited
end;