PreCreateWindow(CREATESTRUCT)



  • Hallo,
    ich arbeite gerade ein MFC- Einsteiger Skript durch.
    Es wurde gesagt wenn man in der "PreCreateWindow"- Funktion
    die Strucktur ändert, würde man das Aussehen des Fensters
    ändern.
    Dies Klappt leider nicht...
    Ich habe es auch in der View.cpp versucht, ... ging auch nicht.

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    
    	if( !CFrameWndEx::PreCreateWindow(cs) )
    		return FALSE;
    	// TODO: Ändern Sie hier die Fensterklasse oder die Darstellung, indem Sie
    	//  CREATESTRUCT cs modifizieren.
    
    	cs.x = 100;
    	cs.y = 100;
    	cs.cx = 200;
    	cs.cy = 200;
    
    	return TRUE;
    }
    

    MfG, Benni



  • Hast du vielleicht mal Versucht die Struktur cs zu bearbeiten bevor du sie PreCreateWindow übergibst?

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    
    	cs.x = 100;
    	cs.y = 100;
    	cs.cx = 200;
    	cs.cy = 200;
    
    	if( !CFrameWndEx::PreCreateWindow(cs) )
    		return FALSE;
    	// TODO: Ändern Sie hier die Fensterklasse oder die Darstellung, indem Sie
    	//  CREATESTRUCT cs modifizieren.
    
    	return TRUE;
    }
    

  • Mod

    CFrameWndEx ist dafür ungeeignet, denn diese Klasse speichert die letzte Fensterposition in der Registry.
    Dein Fenster wird in der Größe aneglegt und anschließend auf die alte Größe gebracht.

    Würde in der Registry zu der Anwendung keine Fensterpositionen existieren, dann würde Dein Code funktionieren.



  • Vielen Dank.

    MfG, Benni


Anmelden zum Antworten