[SDI] von C...Doc auf C...View zugreifen
-
Hallo
Ich möchte aus meiner C...Doc Klasse auf meine C...View Klasse zugreifen. Ich probiere das mit folgendem Code, das Programm stürzt damit nur leider direkt mit einer unbehandelten Ausnahme ab:C...View* view = dynamic_cast<C...View*>(((CMainFrame*)AfxGetMainWnd())->GetActiveView()); ASSERT(view);Weiß jemand was ich falsch mache?
Danke im Voraus
-
Du hast GetFirstViewPosition und GetNextView um auf die Views aus dem Document zu kommen.
Die Frage wäre warum willst Du das! Wen Dein Dokument einem View etwas sagen möchte dann kannst Du UpdateAllViews verwenden. Dort kannst Du einen Hint als long und sogar ein COBject* mitgeben.
-
hmm ich schildere mal mein problem:
ich habe in einem CFormView ein TreeControl. In dieses TreeControl möchte ich den Dokumentnamen(also das was auch in der Titelleiste steht) als Wurzel einfügen/abändern. Ich dachte das müsste ich irgendwie von der CDocument Klasse aus machen...
-
Dann rufe z.B. UpdateAllViews mit einem Hint auf (ein bestimmer Wert für den long z.B., falls Du evtl. noch andere Benachrichtigungen benötigst). In OnUpdate des Views kannst Du dann aus dem View per GetDocument Dir den Dokumenten Pfad holen und entsprechendes im View veranlassen.
-
Das hört sich doch schon mal gut an, danke. Ich werds morgen mal probieren. Doch woher bekomme ich den Dokumentnamen?
-
RTFM (Read the fine MSDN)
GetTitle/GetPathName
-
Danke schön

-