CListCtrl-Zeiger zuweisen



  • Hallo,

    Ich habe folgendes Problem.
    In meiner Dialogklasse cInitialDlg erzeuge ich einen Zeiger auf ein ListCtrl.

    CListCtrl* pLC = (CListCtrl*) GetDlgItem(IDC_LIST1);

    Dieser Zeiger pLC soll nun per Konstruktor an einen public Member m_pLC (mit NULL initialisiert) einer anderen Klasse cMyClass übergeben werden. Mit m_pLC wollte ich dann in cMyClass weiterarbeiten.

    BOOL cInitialDlg::OnInitDialog() 
    {
    
    CListCtrl* pLC = (CListCtrl*) GetDlgItem(IDC_LIST1);
    
    cMyClass* pMC = new cMyClass(pLC);
    ...
    delete pMC;
    
    }
    

    (m_pLC ist public member von cMyClass!)

    BOOL cMyClass::cMyClass(CListCtrl* pLC) 
    {
         m_pLC = pLC;
    
    }
    

    Leider bekomme ich einen unbehandelten Ausnahmefehler bei der Zuweisung
    m_pLC = pLC;
    Ich hoffe ich habe einigermassen verständlich geschrieben.



  • Sers,

    wie deklarierst du m_pLC? (Mir würde sonst keine andere Fehlerquelle einfallen)

    MfG
    SaM



  • Sorry. Bischen spät die Antwort:

    In cMyClass.h

    class cMyClass
    {
    public:
    
    CListCtrl* m_pLC;
    ...
    };
    

    Im Default-Konstruktor: m_pLC=NULL;



  • Versuch mal, den Zeiger nach cMyClass zu parsen, also:

    m_pLC = (cMyClass*)pLC;
    

    peace, sas



  • Macht man sowas nicht normalerweise per Class Wizard? Einfach ne member-Variable anlegen vom Typ "Control".


Anmelden zum Antworten