Programmfenster beim Start zentrieren



  • Hallo,

    wie kann ich mein Programmfenster (MDI) beim Start zentrieren?



  • Bei ner SDI geht das so:

    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);
    		cs.style = WS_OVERLAPPED | WS_CAPTION | WS_MINIMIZEBOX //| WS_MAXIMIZEBOX //| 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 = 168, kannste aber frei wählen.


Anmelden zum Antworten