Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[winAPI] Style okna głównego

Ostatnio zmodyfikowano 2014-03-21 16:44
Autor Wiadomość
mikson
Temat założony przez niniejszego użytkownika
[winAPI] Style okna głównego
» 2014-03-04 15:02:58
Witam,

1. Chcę, aby moje okno główne pojawiało się zmaksymalizowane. W tym celu dodałem styl WS_MAXIMIZE. I przy kompilowaniu F9 wszystko jest OK, ale gdy odpalam program zwyczajnie, klikając na exe okno nie pojawia się "na fulscreenie". Odpala się nie na cały ekran.
2. Chcę również, aby mojego okna nie dało się zmniejszyć (tak, żeby uniknąć sytuacji opisanej w pkt 1). W tym celu usunąłem styl WS_MAXIMIZEBOX. I wszystko ok, nie ma tego przycisku na lewo obok czerwonego X, ale niestety na Windows 7 i wyżej można pociągnąć w dół ten górny pasek na którym są te przyciski i wtedy okno się zmniejsza. Jak temu zapobiec?

Mój kod:
C/C++
hwnd = CreateWindowEx(
0,
szClassName,
"Program",
WS_MAXIMIZE | WS_MINIMIZEBOX | WS_SYSMENU | WS_THICKFRAME,
CW_USEDEFAULT,
CW_USEDEFAULT,
900,
900,
HWND_DESKTOP,
hMenu,
hThisInstance,
NULL
);

Mam nadzieję, że zrozumieliście ;)
Pozdrawiam.
P-105608
pekfos
» 2014-03-08 13:32:23
1. Utwórz okno w rozmiarach ekranu?
2. Usuń WS_THICKFRAME.
P-105853
mikson
Temat założony przez niniejszego użytkownika
» 2014-03-10 16:20:42
1. Jak to zrobić? Poza tym po co tworzyć okno w rozmiarach ekranu, gdy jest załączony styl WS_MAXIMIZE, który powinien automatycznie zmaksymalizować okno?
2. Dzięki.
P-106007
mikson
Temat założony przez niniejszego użytkownika
» 2014-03-13 21:07:00
P-106313
mikson
Temat założony przez niniejszego użytkownika
» 2014-03-21 12:02:43
?
P-106897
alixir
» 2014-03-21 14:42:22
Nadać oknu maksymalny dostępny rozmiar i dodatkowo zasymulować przyciśniecie przycisku maksymilizuj możesz zrobić tak:

C/C++
RECT rect;
SystemParametersInfo( SPI_GETWORKAREA, 0, & rect, 0 );

hWnd = CreateWindow( szWindowClass, szTitle, WS_MAXIMIZE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX, 0, 0, rect.right, rect.bottom, NULL, NULL, hInstance, NULL );

if( !hWnd )
{
    return FALSE;
}

ShowWindow( hWnd, nCmdShow );
UpdateWindow( hWnd );
SendMessage( hWnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0 );
P-106905
mikson
Temat założony przez niniejszego użytkownika
» 2014-03-21 15:37:15
Dzięki, częściowo działa, bo okno się powiększa do rozmiarów monitora, ale nadal nie jest zmaksymalizowane.

SendMessage( hWnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0 );
 Nie działa :/
P-106912
Monika90
» 2014-03-21 15:40:59
Po co symulowac przyciśnięcie przycisku? Spróbuj z ShowWindow(hWnd, SW_MAXIMIZE);
P-106914
« 1 » 2
  Strona 1 z 2 Następna strona