Ansatz Probleme - 4fach geteiltes fenster
-
Nur das ich das Richtig verstehe
Du meinst, das ganze Fenster ist Ein CWnd Fenster, und der Mittlere Splitter verdeckt halt die mitte,
Der Linke Splitter besteht oben ein CWnd Fenster, unten einer und dort in der Mitte wieder ein Splitter?|-----------------------| | CWnd BG | |-----------|-----------| | CWnd LO | CWnd RO | |-----|-----|-----|-----| | | | | | |S2 1 |S2 2 |S3 1 |S3 2 | | | | | | |-----|-----|-----|-----| | CWnd LU | CWnd RU | |-----------|-----------| | CWnd BG | |-----------------------|Was du mit CStatic meinst weiß ich gerade aber nicht gerade.
-
Irgendwei reden wir aneinander vorbei
Bei ein Grundfenster das so aussieht
|-----------| | OBEN | |-----|-----| | | | |S1 |S2 | | | | |-----|-----| | UNTEN | |-----------|Wenn dieses Fenster funktioniert. Platzierst Du die selbe Klasse wieder in S1 und S2. Es entsteht Dein gewünschtes Bild.
-
Versteh ich nicht,
Du sagtest doch dass die CSplitterWnd ein FrameWnd brauchen.Ich erstelle in der MainFrm so:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { BOOL bolReturn = TRUE; // zwei CWnd fenster m_wndTopWindow.Create(NULL, _T(""), WS_CHILD|WS_VISIBLE, CRect(0, 0, 0, 0), this, 1, NULL); m_wndBottomWindow.Create(NULL, _T(""), WS_CHILD|WS_VISIBLE, CRect(0, 0, 0, 0), this, 1, NULL); m_wndSplitter.CreateStatic(this, 1, 2); m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeft), CSize(250, 0), pContext); m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CRight), CSize(250, 0), pContext); return CFrameWnd::OnCreateClient(lpcs, pContext); }Dann hab ich oben und unten je ein Fenster des CWnd, und in der Mitte ein Zweiteiliges CSplitterWnd
CLeft und CRight sind CFormView Klassen, ein CWnd würde auch gehen, aber wie bekomm ich dasselbe Konstrukt auf die linke Splitter-Seite?
Das ist mein Problem.
-
So, Ich habe jetzt gerade wieder etwas zeit umd über dieses Problem nach zu denken.
Was ich demnächst versuchen will ist.Oben ein CWnd Fenster
Unten ein CWnd Fenster
In der Mitte ein Zweiteiliger Splitter.
Die linke seite hat ein oben und unten ein CWnd Fenster mit der Linken Splitter-Seite als Parent.
Und in der Mitte wieder ein Zweiteiliger Splitter welcher ebenfalls die Linke Splitter-Seite als Parent hat.
Die selbe Geschichte auf der Rechten Seite.Ich weiß nicht ob das so funktioniert, ich werde es einfach mal probieren.
-
ne, funktioniert ueberhaupt nicht - ich bekomm das kontrukt nicht in die linke seite, und ich hab ueberhaupt keine ahnung wie ich da ansetzen muss
//dazu edit
ich habe gerade mal gefragt, es macht nichts wenn es links und rechts oben und unten auch dynamisch in der hoehe ist, dh ich mach es so wie du es am anfang vorgeschlagen hattest, das kann ich wenigstens bereits #gg
-
Ein Splitter kann auch in einem Splitter leben. Splitter können genestet werden. Die Hauptsache ist dass alle diese Fenster wieder in einem Frame liegen.
-
ja das hab ich ja auch, das problem war jetzt nur die rechten und linken oberen und unteren statischen fenster, diese bekomm ich nicht hin
-
mal die herangehensweise was ich probiert habe
ich hab das konstrukt im MainFrm
zwei CWnd fenster welche ich oben und unten positionieren
und ein zweiteiliges splitter welcher in der mitte sitzt
in OnSize stauche ich den splitter auf die mitte und passe die beiden fenster entsprechend anso
nu brauch ich das selbe nochmal auf der linken seite
ich habe zuerst probiert wieder zwei CWnd fenster zu benutzen, diese kann ich aber nicht erstellen mit dem linken splitter teil als parent
also muss ich zb CFormView nehmen, aber diesen kann ich nicht mit "Create" erstellen - dh ich nehm die CFormView und erstelle diese als normales splitterfenster, dann geht es auf die ganze linke seitenu das problem, diese FormView auf der linken seite kann ich nicht in der groesse begrenzen, hab da gar kein einfluss
lediglich auf einen splitter haette ich einfluss, aber auch dort wird die groesse wieder auf die ganze hoehe gestellt sobald ich den mittleren splitter bewegewie dem auch sei, ich habe es nicht geschafft eine splitter seite in 3 teile zu teilen wovon der obere und untere in der hoehe fest ist, nur mit nem veschiebbaren splitter gehts problemlos
-
gerade eben hatte ich ein geistesblitz
mein gedanke bisher war immer das ich oben und unten ein CWnd fenster haben wollte und diesen dann positionieren und den splitter kleiner mache
da fiel mir grad ein
warum nicht in "CStaticSplitterWnd" wo ich die mausbewegungen abfange - dann kann cih alles schoen mit splittern einteilenerste tests wahren sehr geil, kann dann schoen verschachteln usw - geil {=
-
geschaaaaaaaaaaft - hach wie geil alles ist genauso wie es sein soll - er wird sich freuen #gg
der thread ist nun endgueltig geloest, danke again {=