Problem mit Anzeige Eines SDI-Programms



  • Also, ich habe ein SDI-Programm, ich hab die Anzeige in der InitInstance() auf SW_SHOWAXIMIZED eingestellt, sodass es automatisch maximiert dargestellt wird. Jetzt wollte ich noch die Maximieren-Schaltfläche deaktivieren. Dafür hab ich in CMainFrame::PreCreateWindow folgendes eingefügt:
    cs.style &= ~WS_MAXIMIZE;

    Nun ist es aber so, dass diese letzte änderung dazu führt, dass der untere Bereich des Fensters, und zwar die Statusleise+ein Teil des Clientbereichs falsch, genauer : zu tief, angezeigt werden. Und zwar sind die Statusleiste und ein stück des Clientbereichs dann "hinter" der Taksleiste verschwunden". Weiß einer woran das liegen könnte?



  • SDI und Doc/View: http://mitglied.lycos.de/ehenkes/mfc_einsteigerbuch_kapitel7.htm

    cs.style &= ~WS_MAXIMIZEBOX; ( nicht WS_MAXIMIZE ) 😉

    Beispiel aus dem Kapitel:

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 
    { 
     /*  
     if (cs.hMenu!=NULL) 
     { 
      ::DestroyMenu(cs.hMenu); // Bereits geladenes Menü entfernen 
      cs.hMenu = NULL;         // Hauptfenster hat kein Menü 
     } 
     */ 
     cs.cx = 300; 
     cs.cy = 200; 
    
     cs.style &= ~WS_MINIMIZEBOX; 
     cs.style &= ~WS_MAXIMIZEBOX; 
    
     if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; 
     return TRUE; 
    }
    


  • Ähm.. sorry.. ich hatte da auch WS_MAXIMIZEBOX.. hab mich nur vertippt..
    Aber mitlerweile hat sichs sowieso erledgt, ich erlaube das (de-)maximieren jetzt dohc wieder


Anmelden zum Antworten