Dit is ben ik bang een nogal newbie-vraag, ik loop echter tegen het probleem op dat ik iets conceptueel verkeerd vat aan dat hele Class Wizard-gebeuren. Alle tutorials die ik bekijk behandelen niet dit specifieke m.i. triviale maar cruciale onderwerp. En ik heb natuurlijk hier en in het MSDN-doolhof gezocht.
Scenario: Ik heb de AppWizard gestart, een dialog getekend met wat controls erop, waaronder de control IDC_editAmount, en die heb ik met de ClassWizard gekoppeld aan de member m_editAmount. Nu wil ik eigenlijk de tekst in de edit-control kunnen veranderen, en ik wil hem ook kunnen disablen (grijs maken).
Nu dacht ik dat er een m_editAmount-object zou komen te ontstaan die een afgeleide is (uiteindelijk) van CWnd. En dan kan ik SetWindowText aanroepen. Dacht ik. Maar nu blijkt dat ik met die m_editAmount alleen de waarde kan veranderen en dan dat met UpdateData() weer kan terugzetten. Hoe maak ik hem nu grijs?
Wie helpt me het kleine stapje verder dat ik nodig heb? Ik wil dus een pointer naar de desbetreffende instantie van de class CEdit hebben. Zo zeg ik het goed toch?
Even voor de zekerheid, de ClassWizard heeft ergens een stukje terug het volgende geplaatst:
Scenario: Ik heb de AppWizard gestart, een dialog getekend met wat controls erop, waaronder de control IDC_editAmount, en die heb ik met de ClassWizard gekoppeld aan de member m_editAmount. Nu wil ik eigenlijk de tekst in de edit-control kunnen veranderen, en ik wil hem ook kunnen disablen (grijs maken).
Nu dacht ik dat er een m_editAmount-object zou komen te ontstaan die een afgeleide is (uiteindelijk) van CWnd. En dan kan ik SetWindowText aanroepen. Dacht ik. Maar nu blijkt dat ik met die m_editAmount alleen de waarde kan veranderen en dan dat met UpdateData() weer kan terugzetten. Hoe maak ik hem nu grijs?
Wie helpt me het kleine stapje verder dat ik nodig heb? Ik wil dus een pointer naar de desbetreffende instantie van de class CEdit hebben. Zo zeg ik het goed toch?
Even voor de zekerheid, de ClassWizard heeft ergens een stukje terug het volgende geplaatst:
C++:
1
2
3
4
5
6
7
| void CTest2Dlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTest2Dlg) DDX_Text(pDX, IDC_editAmount, m_editAmount); //}}AFX_DATA_MAP } |