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