Ik zit met een probleem, en dat is dat het mij niet lukt om een Crystal Reports Viewer (.NET component) in een MFC applicatie te krijgen. Het gaat om een MDI applicatie, en de viewer moet in een document komen te staan. MFC gebruikt met MDI applicaties een CView object om de inhoud van een "document" weer te geven.
Nu heb ik de CView klasse over-geerfd en in deze klasse wil ik met behulp van DataExchange de Crystal Viewer inladen door een CStatic object te vervangen.
Probleem: De DoDataExchange methode kent CView niet, dit wordt alleen gebruikt door de CDialog klasse.
Mijn vraag is: valt dit toch op te lossen, of moet ik een andere methode gebruiken? Zou ik een managed klasse kunnen aanmaken en deze in de CView kunnen krijgen? Ik heb dit kort geprobeerd, maar naar mijn idee kan een managed klasse een unmanaged klasse niet extenden (redelijk logisch). Of zou ActiveX een goede oplossing zijn?
Alvast bedankt!
#Edit: tijdens het typen zit ik mij te bedenken dat ik de View en Document klassen wellicht niet eens hoef te gebruiken, en gewoon alles in de Child Dialog doe (CMDIChildWndEx). Vraag ik mij wel weer af wat ik met deze initialisatie aanmoet:
#Edit2: Iets te snel dit topic geopend denk ik, een oplossing lijkt hier te staan
Nu heb ik de CView klasse over-geerfd en in deze klasse wil ik met behulp van DataExchange de Crystal Viewer inladen door een CStatic object te vervangen.
Probleem: De DoDataExchange methode kent CView niet, dit wordt alleen gebruikt door de CDialog klasse.
Mijn vraag is: valt dit toch op te lossen, of moet ik een andere methode gebruiken? Zou ik een managed klasse kunnen aanmaken en deze in de CView kunnen krijgen? Ik heb dit kort geprobeerd, maar naar mijn idee kan een managed klasse een unmanaged klasse niet extenden (redelijk logisch). Of zou ActiveX een goede oplossing zijn?
Alvast bedankt!
#Edit: tijdens het typen zit ik mij te bedenken dat ik de View en Document klassen wellicht niet eens hoef te gebruiken, en gewoon alles in de Child Dialog doe (CMDIChildWndEx). Vraag ik mij wel weer af wat ik met deze initialisatie aanmoet:
code:
1
2
3
4
| pDocTemplate = new CMultiDocTemplate(IDR_ReportDemoTYPE,
RUNTIME_CLASS(CReportDemoDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CReportView)); |
#Edit2: Iets te snel dit topic geopend denk ik, een oplossing lijkt hier te staan
[ Voor 37% gewijzigd door Nordlys op 13-02-2008 13:58 ]