SDI | SplitterWnd | Werd Irre
-
Also!
Nahdem ich schon einiges probiert habe um 2 Views in einem SDI Dokument auszutauschen habe ich beschlossen das ganze Mit SplitterWnd zu lösen! Super gedanke! Im forum mal nachgeschaut und tada ein Tutorial gefunden http://www.codeproject.com/useritems/splitterwindowtutorial.asp?target=CSplitterWnd !
Super Sache! Einfaches tutorial! Nachgemacht und funzt net! ganz Toll!
habe Super Fehlermeldung! Und zwar ruft ja das prog in der Memberfunktion OnSize (reagiert auf WM_SIZE) unter anderem diese Funktion auf (siehe Tutorial für komplett)m_mainSplitter.SetRowInfo( 0, cy, 0 );Da drinne willer dann
void CSplitterWnd::SetRowInfo(int row, int cyIdeal, int cyMin) { ASSERT_VALID(this); ASSERT(row >= 0 && row < m_nMaxRows); ASSERT(cyIdeal >= 0); ASSERT(cyMin >= 0); m_pRowInfo[row].nIdealSize = cyIdeal; m_pRowInfo[row].nMinSize = cyMin; }machen!
Aber in der Zeile
m_pRowInfo[row].nIdealSize = cyIdeal;sagt er fehler!
Wobei cyIdeal ein gültiger wert ist! Dieser kann aber aus irgendwelchen Gründen nicht in m_pRowInfo[row].nIdealSize Geschrieben werden! Wie ich das sehe hat die Variabel keinen Gültigen Speicher!! Aber wie kann das sein??Währe euch unanständig dankbar für die Lösung dieses nunmehr 100en Problems das ich heute hatte!!
Gruß Andi
-
Hab den Fehler weiter eingrenzen können!
Und zwar wird die Nachricht WM_SIZE aus der funktion CreateCommon heraus geschickt und zwar noch bevor in der selben Funktion der Speicherplatz für die Arrays reserviert wird!!!
Also aus
if ( !m_mainSplitter.CreateStatic( this, 1, 2 ) ) heraus wird die nachricht versendet WM_SIZE und zwar bevor der speicherplatz etwas weiter unten reserviert wird! Wie kann das sein?? Reagiert die Funktion auf die falsche WM?? Im Tutorial steht ja auch die Nachricht WM_ONSIZE soll es sein!! Die gibts ja aber gar nicht!Gruß Andi