Hallo,
Ik probeer al geruime tijd zonder al te veel succes met MFC een toolbar met een TreeView control (en later eventueel andere controls) toe te voegen aan mijn applicatie, zonder al te veel succes.
Het zit zo: Ik heb een MDI-applicatie waaraan ik een dockable toolbar wil toevoegen met daarop een treeview control, ongeveer zoals ClassView in Visual C++ 6.
De netste methode lijkt mij het gebruik van een DialogBar. Door een IDD_DIALOGBAR resource te maken, en aan CMainFrame een membervariabele CDialogBar m_wndDlgBar toe te voegen (en vervolgens m_wndDlgBar.Create() en de nodige DockControlbar functies aan te roepen), is het mogelijk deze dialogbar aan mijn venster te hangen.
Mijn probleem is echter als volgt: Om te beginnen wil de ClassWizard telkens een nieuwe class maken op basis van mijn nieuwe dialoogvenster, zoals gebruikelijk. Dit wil ik wel doen, maar ik weet niet wat ik dan als base class moet kiezen. Ik kan hem wel van CDialog laten inheriten, maar die heeft niet dezelfde Create() method als CDialogBar, zodat ik er geen dockable toolbar van kan maken, enkel een standaard dialoogvenster. En van CDialogBar kan ik weer niet inheriten.
MSDN zegt dat het bij DialogBars niet gebruikelijk is dat je een nieuwe class maakt voor de dialoogresource, maar vermeldt vervolgens niet wat je er dan wel mee zou moeten doen. Ik kan Select Existing Class kiezen, maar dan? Moet ik hem toevoegen aan CMainFrame? Wat moet ik er mee doen?
Tweede probleem is dat ik via de resource editor wel controls op mijn dialogbar kan plaatsen, maar vervolgens kan ik er niets mee. Ik zou graag, zoals normaal gesproken bij dialoogvensters, via de ClassWizard MFC membervariabelen aan de controls hangen (CEdit voor een editbox, CTreeCtrl voor de Treeview, etcetera), maar omdat er geen class voor de dialogbar is kan ik deze membervariabelen nergens aan toevoegen.
Hoe is het mogelijk op de normale manier met deze DialogBars om te gaan? Hoe maak ik de juiste class aan, zodat ik de gewenste Create() functie heb waarmee ik het ding als toolbar kan toevoegen? Iemand een idee?
Ik probeer al geruime tijd zonder al te veel succes met MFC een toolbar met een TreeView control (en later eventueel andere controls) toe te voegen aan mijn applicatie, zonder al te veel succes.
Het zit zo: Ik heb een MDI-applicatie waaraan ik een dockable toolbar wil toevoegen met daarop een treeview control, ongeveer zoals ClassView in Visual C++ 6.
De netste methode lijkt mij het gebruik van een DialogBar. Door een IDD_DIALOGBAR resource te maken, en aan CMainFrame een membervariabele CDialogBar m_wndDlgBar toe te voegen (en vervolgens m_wndDlgBar.Create() en de nodige DockControlbar functies aan te roepen), is het mogelijk deze dialogbar aan mijn venster te hangen.
Mijn probleem is echter als volgt: Om te beginnen wil de ClassWizard telkens een nieuwe class maken op basis van mijn nieuwe dialoogvenster, zoals gebruikelijk. Dit wil ik wel doen, maar ik weet niet wat ik dan als base class moet kiezen. Ik kan hem wel van CDialog laten inheriten, maar die heeft niet dezelfde Create() method als CDialogBar, zodat ik er geen dockable toolbar van kan maken, enkel een standaard dialoogvenster. En van CDialogBar kan ik weer niet inheriten.
MSDN zegt dat het bij DialogBars niet gebruikelijk is dat je een nieuwe class maakt voor de dialoogresource, maar vermeldt vervolgens niet wat je er dan wel mee zou moeten doen. Ik kan Select Existing Class kiezen, maar dan? Moet ik hem toevoegen aan CMainFrame? Wat moet ik er mee doen?
Tweede probleem is dat ik via de resource editor wel controls op mijn dialogbar kan plaatsen, maar vervolgens kan ik er niets mee. Ik zou graag, zoals normaal gesproken bij dialoogvensters, via de ClassWizard MFC membervariabelen aan de controls hangen (CEdit voor een editbox, CTreeCtrl voor de Treeview, etcetera), maar omdat er geen class voor de dialogbar is kan ik deze membervariabelen nergens aan toevoegen.
Hoe is het mogelijk op de normale manier met deze DialogBars om te gaan? Hoe maak ik de juiste class aan, zodat ik de gewenste Create() functie heb waarmee ik het ding als toolbar kan toevoegen? Iemand een idee?