problem mit dialog klasse: CListBox



  • class CSelectDlg : public CDialog
    {
    	DECLARE_DYNAMIC(CSelectDlg)
    
    public:
    	CSelectDlg(CWnd* pParent = NULL);   // standard constructor
    	CListBox test;
    	virtual ~CSelectDlg();
    
    // Dialog Data
    	enum { IDD = IDD_SELECTDLG };
    
    protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    
    	DECLARE_MESSAGE_MAP()
    public:
    	afx_msg void OnLbnSelchangeSelectlist();
    public:
    	virtual BOOL OnInitDialog();
    };
    
    BOOL CSelectDlg::OnInitDialog()
    {
    	CDialog::OnInitDialog();
    
    	test.AddString("TEST");
    
    	return TRUE;  // return TRUE unless you set the focus to a control
    	// EXCEPTION: OCX Property Pages should return FALSE
    }
    

    HALLO.

    warum kommt in zeile 27 immer folgende fehlermeldung:

    Debug assertion failed!

    DANKE.
    STICK.

    EDIT: habs alleine schon herausbekommen. folgende zeile in 'DoDataExchange' hatte ich vergessen:

    DDX_Control(pDX, ID_SelectList, test);
    

    sowas muss man erstmal herausfinden! finde ich nicht sehr programmierfreundlich 😞



  • stick_thai schrieb:

    EDIT: habs alleine schon herausbekommen. folgende zeile in 'DoDataExchange' hatte ich vergessen:

    DDX_Control(pDX, ID_SelectList, test);
    

    Das kann man eigentlich nicht vergessen, weil das der Assistent macht. Irgendwas machst du wohl falsch.

    sowas muss man erstmal herausfinden! finde ich nicht sehr programmierfreundlich 😞

    Wenn man einen Hammer am falschen Ende anfasst, klappt das auch nicht so gut. Liegt trotzdem nicht am Hammer 😉



  • HI MFK,

    ich steh jetzt wieder vor dem gleichen problem von damals. du hattest auf mein post geschrieben, dass der assistent das für mich macht und ich wohl etwas falsch mache. damit scheints du wohl recht zu haben, denn auch im zweiten anlauf heute bleibt der assistent inaktiv.

    ich gehe folgendermaßen vor:
    - Projekt -> Add Class -> MFC Class
    - name eingeben, Base class auf CDialog setzen und ID eingeben
    - Active accessibility an oder aus, macht keinen unterschied
    - Finish drücken
    - im Ressource view füge ich den dialog dann z.b. ein listbox control hinzu

    nun aber hat sich noch nichts in DoDataExchange geändert. wo liegt dann mein fehler?

    DANKE.
    STICK

    EDIT:
    habs gefunden, man muss über die rechte maustaste ne variable einfügen 🙂



  • stick_thai schrieb:

    EDIT:
    habs gefunden, man muss über die rechte maustaste ne variable einfügen 🙂

    Du solltest IMHO ein MFC-Tutorial durcharbeiten. Dann brauchst du so etwas nicht mehr zu "finden" 😉


Anmelden zum Antworten