Unsichtbare Splitter
-
Ich erkenne das Problem - und zwar dieser "Container" - den kannte ich noch nicht - deinen Code werd ich erstmal versuchen muessen zu verstehen bis ich da selber was auf die beine gestellt habe
Eine Frage habe ich da aber noch
In deinem Beispiel geht der "Container" ueber das ganze fenster, richtig?
Und nun muss ich ein splitter erstellen wo dann rechts und links dieser container enthalten ist - richtig?//dazuedit, ich sehe gerade, der container selber beinhaltet aber kein eigenen splitter - aber da muss ja einer rein /=
-
Ich verstehe Dein Problem immer noch nicht!
Du wolltest Überschift und Fusszeile. Fest! Das sind die CStatic Fenster. Bau was anderes was Du auch immer willst. Darin ist nun ein View.Was passt Dir denn jetzt nicht?
Aber lange wirst Du mich icht mehr damit quälen
ich fahre nämlich bald in den Urlaub...
-
schau dir mal mein bild genau an
dein beispiel ist nur dahingehend richtig das oben und unten ein statisches fenster ist - aber dazwischen (FORM 1 | Form 2) muss auch noch ein splitter rein
-
So ist es nun genehm?
http://w12.easy-share.com/2264891.html

-
GENAU, das isses - hab jetzt keine zeit mehr aber werde morgen auf jeden fall den code zerpfluecken
ich bin dir zu grossen dank verpflichtet
#winkz
und nun - hab nen schoenen urlaub - ich bin sicher das ich nun zurecht komm {=
-
so, habe mal kurz ueberflogen - und hei, so hatte ich es gestern auch kurz probiert, da es aber irgendwie nicht klappte dachte ich es lag daran das die splitter immer ein FrameView als parent haben muessen - in deinen beispiel ist aber ein container das parent
wie dem auch sei, das beantwortet nun alle fragen - vielen dank
-
Ich dachte ich hätte es schon mal erklärt. Die Splitter müssen in einem CFrameWnd liegen. Wieviele dann aber verschachtelt sind ist egal!
Ursache ist letzten Endes auch wieder nur das ein CView einen Frame benötigt. Aber auch ein CView kann damit leben wenn mehrere Andere Fenster dazwischen liegen.
-
Das hatte ich so verstanden:
Der Splitter brauch ein FrameWnd d.h. nur in MainFrm ist ein *.CreateStatic möglich.
Aber so wie ich deinen Code nun sehe versteh’ ich wie das ganze funktioniert (endlich richtig hoffe ich),
aber ich glaube ohne die Container ist es gleich deutlich schwerer, und die Container hatte ich noch nie zuvor gesehen
{Wie ich schon mal irgendwo sagte habe ich seit einigen Monaten nichts mit MFC gemacht, und dort auch nie etwas mit Container oder Splitter}War ne schwere Geburt #gg
//Dazu Edit -> Ich confirme deinen Urlaub, darfst gehen #erlaub #gg
-
Solche Container Fenster (so nenne ich die), deren gesamter Clientbereich durch Unterfenster bedeckt werden, erlauben Fenster leichter zu gruppieren und nach eigenen Richtlinien zu positionieren. Oder sie erlauben eine gesamte Funktionalität zu kapseln. Dazu kann man auch von CDialog abgeleitete Container die den WS_CHILD Stil haben nutzen. Dazu gibt es Artikel in www.codeproject.com
Wenn Du so willst ist jeder Frame ein Container! Denn vom eigentlichen CMainFrame siehst Du nie etwas. Es enthält nur andere Fenster. Das CMainFrame hat keinen OnPaint Handler und braucht den auch nicht.
-
Ich probiere hier schon seit geraumer zeit rum, mein Problem jetzt ist, wie bekomm ich solch ein Konstrukt (Du nennst es Container) in den FrameWnd
also das der FrameWnd oben und unten auch noch ein static hat.
BTW: kann man auf ein CStatic auch buttons und solche elemete generieren?
//dazu edit, ich glaub ich loes das problem so das ich weiterhin ein splitter auf der FrameWnd habe, diese aber anders positionier das unten ich einer befindet, das ist auch kein problem
//dazuedit 2
japs, funktioniert forzueglich, problem hat sich damit nun erledigt