bsNone i animacja minimalizacji/zamykania okna

Odpowiedz Nowy wątek
2013-12-22 21:37

Rejestracja: 6 lat temu

Ostatnio: 6 lat temu

0

Witam,

Chciałbym, aby okno po kliknięciu przycisku (Application.Minimize;) zsuwało się do taskbara, jak ma to miejsce przy niemal wszystkich aplikacjach w Windows Vista/7/8/8.1. Animacja jest obecna, gdy okno posiada BorderStyle:=bsSingle, jednak chciałbym usunąć ramkę Windowsa. W tym celu ustawiam BorderStyle:=bsNone, jednak problemem jest brak animacji minimalizacji/zamykania okna.

Mam nadzieje, że ktoś byłby w stanie mi pomóc.

Pozdrawiam,
Tomoya

Pozostało 580 znaków

2013-12-22 22:58
Moderator

Rejestracja: 11 lat temu

Ostatnio: 1 tydzień temu

Lokalizacja: Szczecin

0

A reagowanie na komunikat WM-SYSCOMMAND i AnimateWindow się tutaj nie sprawdziło?


Pozostało 580 znaków

2013-12-22 23:31

Rejestracja: 6 lat temu

Ostatnio: 6 lat temu

0

Nie jestem pewien, czy poprzez AnimateWindow otrzymam oczekiwany efekt, jakim jest chowanie się okna do taskbara (standardowa animacja Aero w nowszych Windowsach). Mogę się jednak mylić.

Pozostało 580 znaków

2013-12-22 23:51
Moderator

Rejestracja: 11 lat temu

Ostatnio: 1 tydzień temu

Lokalizacja: Szczecin

0

A co stoi na przeszkodzie żebyś to po prostu sprawdził? Ja teraz nie siedzę na PC. Chociaż może lepsze tutaj będzie ShowWindow. Ewentualnie nic się nie da zrobić, gdyż tak zaprojektowany system.


Pozostało 580 znaków

2013-12-23 00:06

Rejestracja: 6 lat temu

Ostatnio: 6 lat temu

0

ShowWindow daje taki sam wynik - okno po prostu znika.

Pozostało 580 znaków

2013-12-23 07:56

Rejestracja: 16 lat temu

Ostatnio: 19 godzin temu

0

jednak chciałbym usunąć ramkę Windowsa

Prawidłowo ramka powinna być, ale zamiast standardowej trzeba obsłużyć komunikaty WM_NCHITEST i WM_NCPAINT, co pozwala na zachowanie ramki w sensie logicznym, ale własne jej rysowanie (choćby jako niewidzialnej).
Ale trudno jest te komunikaty obsłużyć prawidłowo.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0