SDI Anwendung feste Größe



  • Hallo,
    ist es möglich bei einer SDI- Anwendung das minimieren / maximieren, also Änderung der Größe zu unterbinden und eine feste Größe vorzugeben?

    MfG



  • Rehallo! 🙂

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    	if( !CFrameWnd::PreCreateWindow(cs) )
    		return FALSE;
    	// ZU ERLEDIGEN: Ändern Sie hier die Fensterklasse oder das Erscheinungsbild, indem Sie
    	//  CREATESTRUCT cs modifizieren.
    
    	CClientDC dc(NULL);
    	int nRealXRes = dc.GetDeviceCaps(HORZRES);
    	int nRealYRes = dc.GetDeviceCaps(VERTRES);
    	if ((nRealXRes == X_RES) && (nRealYRes == Y_RES))
    	{
    		cs.style = WS_OVERLAPPED | WS_CAPTION | WS_MINIMIZEBOX | WS_MAXIMIZEBOX //| FWS_ADDTOTITLE
    			| WS_SYSMENU;
    	}
    	else
    	{
    		cs.style = WS_OVERLAPPED | WS_CAPTION | WS_MINIMIZEBOX //| FWS_ADDTOTITLE
    			| WS_SYSMENU;
    
    		// Fenstergröße festlegen
    		cs.cx = X_RES;
    		cs.cy = Y_RES;
    
    		// Auflösung holen und Fenstergröße abziehen
    		int nXRes = dc.GetDeviceCaps(HORZRES) - X_RES;
    		int nYRes = dc.GetDeviceCaps(VERTRES) - Y_RES;
    		// Immer schön mittig bitte...
    		cs.x  = nXRes / 2;
    		cs.y  = nYRes / 2;
    	}
    
    	return TRUE;
    }
    

    X_RES ist 1024 und Y_RES ist 768. Das Fenster ist bei passender Auflösung maximiert und bei einer größeren mittig platziert.
    Kannst du ja beliebig anpassen. 🙂



  • Schönen Dank für die schnelle Hilfe.

    Funzt gut 😃 👍


Anmelden zum Antworten