CreateWindowEx - dwStyle auf WS_MAXIMAZE aber Programm ist beim Start nicht maximiert
-
Hallo.
Wie der Titel schon sagt habe ich bei CreateWindowEx angegeben, dass das Fenster maximiert initialisiert werden soll, aber wenn ich die fertige EXE aus dem Ordner starte, ist das Fenster leider NICHT maximiert. Komischerweise funtionirt es einwandfrei, wenn ich das Progamm aus der IDE (Code::Blocks) starte. Ich geb' mal den groben Code an, in meinem Programm sind vorwiegend nur noch Kontrollen zum Test der Rückgabewerte eingebaut und es wird verhindert, dass eine zweite Instanz des Programms läuft. Diese Sachen gebe ich jetzt mal nicht an, falls dennoch bedarf sein sollte, kann ich den kompletten Code auch posten (~150 Zeilen).
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wc; HWND hwnd; MSG msg; ZeroMemory(&wc, sizeof(WNDCLASSEX)); wc.cbSize = sizeof(WNDCLASSEX); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = main_window_procedure; wc.hInstance = hInstance; wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wc.lpszClassName = "ClassName"; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); RegisterClassEx(&wc); hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, "ClassName", "FileName", WS_MAXIMIZE | WS_OVERLAPPEDWINDOW | WS_VISIBLE, // <- sollte funzen, oder? CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, hInstance, NULL); UpdateWindow(hwnd); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return main_window_message.wParam; }Vielleicht weiss ja jemand Rat?
Ciao.
-
Bier schrieb:
UpdateWindow(hwnd);Batsch davor da mal ein
ShowWindow(hwnd, SW_MAXIMIZE);Warum das aber net bei dir geht weiss ich auch net.
-
So funktioniert's bei mir:
. . . hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, "ClassName", "Title", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, hInstance, NULL); ShowWindow(hwnd, SW_SHOWMAXIMIZED); UpdateWindow(hwnd); . . .Warum es allerdings nicht anders funzt, also ein WS_MAXIMIZE in CreateWindowEx anscheinend überhaupt nicht beachtet wird, ist und bleibt ein Rätsel.
Danke für die recht schnelle Antwort.