SDI

kerian

Erfahrenes Mitglied
Ich habe eine SDI Anwendung geschrieben. Die CView hat CFormView als Basiskalsse.
In meiner CData Kalsse habe ich eine Membervariable, die gesetzt ist wenn die Anlage läuft oder halt nicht wenn die Anlage nicht läuft.
In der OnDraw() Methode der CView Klasse wird die dann abgefragt und ein dementsprechendes Bild angezeigt. Aber das funktioniert nicht so richtig.
Erst wenn ich das Fenster kleiner und dann wieder groß ziehe wird das Bild
im Clientbereich geändert.
Ich komme einfach nicht aus einem Dialog auf die View ran z.B. Pointer!
Wenn mir da jemand helfen könnte würde ich mich freuen.
Gruß
Kerian

Ich hoffe man versteht mich! Wenn noch weitere Informationen benötigt werden
kein Problem.
 
Zuletzt bearbeitet:
Naja ich bin zimlich neu auf dem Gebiet!

void CFormView::OnInitialUpdate()
{
ASSERT_VALID(this);

if (!UpdateData(FALSE))
TRACE0("UpdateData failed during formview initial
update.\n");

CScrollView::OnInitialUpdate();
}

Das ist sie ja! sagt mir aber nicht viel!
Habe Sie irgendwo im Innern der MFC gefunden!
Ach das ist die falsche

void CFormView::OnInitDialog
finde ich nicht.
 
Zuletzt bearbeitet:
Ja genau die mein ich.
Das Ereignis kommt immer dann, wenn im Doc ein Load (durch serialize) oder New durchgeführt wurde.

initDialog gibts ja auch nur bei CDialog - Klassen...hätt ich selber sehen müssen :rolleyes:

PS: Die MFC-Struktur ist auch ein wenig fern des intuitiven programmierens, finde ich.
 
Ja das ist schon ganz schön heftig mit der MFC.
Kann ich dort was einfügen oder zerstöre ich meine
Entwicklungsumgebung?
Was ich eigentlich erreichen will, ist dass mein Clientbereich
neu aufgebaut wird. Das mache ich doch mit Fenster kleiner und wieder
größe ziehen oder nicht?
Ach ja so ist das wenn man Anfänger ist. Tausen Fragen!
 
Beim Größe-Verändern kommt halt die OnDraw - Ereignis Funktion, wenn du das meinst. Die kannst Du ja auch "per Hand" aufrufen.


PS: Für einfachere Oberflächen hab ich bisher auch immer den Borland Builder empfohlen aber für große Projekte ist die MFC schon wirklich nicht schlecht!
An der Uni musste ich mal ein Billard-Spiel als MFC-SDI programmieren...eijeijei kann ich nur sagen.
 
Ja das kann ich mir vorstellen.
Wie jann ich die den aufrufen? Ich komme an die Methode nicht ran.
Ich wollte die aus einem Dialog aufrufen aber ich kann es irgenwie
nicht schaffen.
Meine View Klasse heißt CGR2View.
Dann habe ich in meinem Dialog
CGR2View* m_pVie;
m_pView-> aber das geht nicht.
Dann wollte ich es mit Message versuchen. Nach 2 Tage Einarbeitung wie
überhaupt das funktioniert! geht nicht:(
Wie komme ich jetzt an die Methoden der View ran.
 
Ok. Ich werde es mal mit dem this Zeiger prubieren!
Wie es aussehen soll weiß ich noch nicht. (Code)
Gesehn und angewendet habe ich in schon.
Erstmal danke für deine Hilfe, aber ich werde mich
sicherlich morgen wieder melden.
 
Zurück