Jak włączyć autoukrywanie paska zadań?

0

Witam. Tworzę program w Builder C++ i potrzebuję zrobić pełny ekran. Poustawiałem takie opcje jak Align allClient, BorderStyle bsNone, FormStyle fsStayOnTop, WindowsState wsMaximized. Program uruchamia się w prawie całym ekranie - widoczny jest jeszcze pasek zadań. Dodałem funkcje ukrycia paska zadań i pokazanie paska zadań:

//ukrycie
HWND pasek = FindWindow("Shell_TrayWnd",NULL);
ShowWindow(pasek,SW_HIDE);
//pokazanie
HWND pasek = FindWindow("Shell_TrayWnd",NULL);
ShowWindow(pasek,SW_SHOW);

Brakuje mi kodu, który by włączał autoukrywanie paska zadań. Gdy ukrywam pasek z poziomu windowsa, wtedy program uruchamia się w full screenie, ale potrzebuję, żeby włączanie i wyłączanie autoukrywania paska zadań była już zaimplementowania w samym programie. Znawców prosiłbym o podanie tych dwóch kodów. Jeśli jest inny sposób włączenie pełnego ekranu to także poproszę o takie rozwiązania. Z góry dziękuję.

6

Podstawowa zasada tworzenia pełnoekranowego okna pod Windows: nie ukrywać paska zadań.

Pełnoekranowe okno pod Windows to po prostu pełnoekranowe okno: pozbawione ramki, umieszczone w punkcie o współrzędnych 0,0 ekranu i o rozmiarze tego ekranu.
Żeby pobrać rozmiar głównego ekranu odpal GetSystemMetrics z parametrami CXFULLSCREEN i CYFULLSCREEN.

Zapomnij o istnieniu Shell_TrayWnd i jakimkolwiek manipulowaniu przy nim.

Jeśli chcesz istniejące okno uczynić pełnoekranowym, to:

  • zabierz mu ramkę (jakoś tam w Builderze się styl okna ustawia)
  • wypozycjonuj je na 0, 0
  • ustaw rozmiar na CXFULLSCREEN x CYFULLSCREEN.

fsStayOnTop i wsMaximized nie są potrzebne.

1

Zadziałało dziękuję :)

Przełączyłem opcję Align na alCustom. Wprowadziłem globalne wartości pobierające dane o szerokości i wysokości ekranu:
int x = GetSystemMetrics(SM_CXSCREEN);
int y = GetSystemMetrics(SM_CYSCREEN);
Przypisałem dla ekranu szerokość i wysokość z pobranych danych:
Form1 -> Width = x;
Form1 -> Height = y;

Po uruchomieniu pełny ekran włączony.

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