Fensterhöhe + Statusbar = Statusbar verschoben ?!



  • Hallo Leute.

    Ich habe ein Dialog (diesmal hWnd), in den eine Statusbar integriert wird.
    Allerdings wird der Dialog aus der Resource geladen und ich möchte, dass die Fensterhöhe + die Statusbarhöhe addiert wird, damit der Dialog noch ganz sichtbar ist.

    HWND hStatusBar;
    	RECT rect;
    	int nHeight;
    
    	hStatusBar = CreateWindowEx(0, STATUSCLASSNAME, TEXT(""), WS_CHILD | WS_VISIBLE, 
    		0, 0, 0, 0, hWnd, 0,
    		hInstance, NULL);
    
    	// Statusbar-hoehe ermitteln
    	GetWindowRect(hStatusBar, &rect);
    	nHeight = rect.bottom - rect.top;
    
    	// Fenster größer machen
    	GetWindowRect(hWnd, &rect);
    	MoveWindow(hWnd, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top + nHeight, FALSE);
    
    	// Statusbar verschieben
    	// Geht nicht!!!
    	GetWindowRect(hStatusBar, &rect);
    	MoveWindow(hStatusBar, rect.left, rect.top + nHeight, rect.right - rect.left, rect.bottom - rect.top, TRUE);
    	// !!!
    

    Das Problem daran ist nur, dass die Statusbar nicht am unteren Rand des Fensters ist, sondern auf der vorherigen Position bleibt. Die Statusbar soll doch immer am unteren Fensterrand sein...

    Danke.



  • Um die Statusbar in die richtige position zu rücken, kann man ein Move Window (hwnd, 0, 0, 0, 0, FALSE ) machen.


Anmelden zum Antworten