TForm i TApplication
24.07.1999
  • Minimalizacja i przywracanie okienka programu.

Można to zrobić na 3 różne sposoby:

1) Przesłać komunikat WM_SYSCOMMAND z WPARAM ustawionym na SC_MINIMIZE lub SC_RESTORE do uchwytu formy lub aplikacji (Application->Handle). Komunikat przesyłamy używając funkcji API - SendMessage.


 // 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.