Problem beim Drucken

Topsen

Mitglied
Hallo,

ich habe mehrere FormViews in meiner SDI, welche jeweils im MainFrame angezeigt werden. Jetzt habe ich in der Standard View Klasse die Funktionen :
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnPrint(CDC* pDC, CPrintInfo*);
etc.
implementiert.

In der OnPrint soll dann jeweils die Druckfunktion aus dem aktiven FormView aufgerufen werden.

Mein Problem:

Wenn ich meine Standard View Klasse als Start angebe "RUNTIME_CLASS(CProgrammView))" kann ich im Menü Drucken auswählen, aber sobald ich eins meiner FormViews aufrufe ist der Menüeintrag disabled. Wie umgehe ich das, also einfach nur, das der Menüeintrag ständig aktiv ist?

MFG,

Topsen
 
hmm es liegt anscheinend jawohl daran, das meine einzelnen Views FormViews sind und somit auch von CFormView abgeleitet sind und nicht von CView.

Was mache ich nun?
 
Deine CFormViews sind in der Tat (indirekt) von CView abgeleitet. Um genau zu sein, ist CView sozusagen der Grossvater von CFormView. CScrollView ist der Vater. Das sollte also kein Problem sein.

Abgesehen von diesem Kommentar kann ich dir leider nicht weiterhelfen, da ich bisher mit dem Drucken mangels Bedarf noch wenig Erfahrung habe.
 
Hmm ja das stimmt, die FormViews sind also auch von CView abgeleitet.

Nur wie bekomme ich es nun auf die Reihe, das im FormView der richtige EventHandler aus der CView aufgerufen wird?

Der MenüEintrag hat die ID "ID_FILE_PRINT" und ruft wohl aus CView die OnFilePrint auf, nur wie erreiche ich es, dass auch in einer CFormView dieser EventHandler aufgerufen wird.
Der MenüEintrag bleibt einfach ausgegraut.
 
Zurück