Można to zrobić na 3 różne sposoby: // Aby zminimalizować, prześlij SC_MINIMIZE jako WPARAM SendMessage(Application->Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0); // Aby przyrócić, prześlij SC_RESTORE jako WPARAM SendMessage(Application->Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
2) Druga metoda polega na wywołaniu funkcji API - ShowWindow, należy do niej przesłać uchwyt aplikacji. Jeżeli prześlesz uchwyt do formy, to forma zminimalizuje się do pulpitu. // Aby zminimalizować, prześlij SW_MINIMIZE do ShowWindow ShowWindow(Application->Handle, SW_MINIMIZE); // Aby przyrócić, prześlij SW_RESTORE do ShowWindow ShowWindow(Application->Handle, SW_RESTORE);
3) Ostatni sposób polega na wywołaniu funkcji Minimize albo Restore obiektu Application, funkcje te są składnikami klasy TApplication. // Aby zminimalizować aplikację, wywołaj Minimize Application->Minimize(); // Aby przyrócić aplikację wywołaj Restore Application->Restore();
Ostatni sposób jest najłatwiejszy, ale wysłanie komunikatu WM_SYSCOMMAND jest bardziej wszechstronne. Obok minimalizacji i przywracania komunikat WM_SYSCOMMAND pozwala także na maksymalizację aplikacji (przywrócenie może ale nie musi tego zrobić), zmienić kursor na kursor pomocy, przescrollować okienko, przesunąć je, zmienić rozmiar, czy też zasymulować naciśnięcie ALT+TAB. Chociaż wywołanie ShowWindow działa, to prawdopodobnie nie użyjesz tej funkcji. Powoduje ona, że podczas minimalizacji ukrytego okna pojawia się animacja. Wygląda to nieco dziwnie, ponieważ animacja "wychodzi" ze środka formy. |