Created CDialog wider schließen - Aber sauber und richtig



  • Moin,

    Ich öffne einen CDialog wie folgt:

    CDialog * pDlg = new CDialog;
    pDlg->Create(ID, this);
    pDlg->ShowWindow(SW_SHOW);
    

    So nun will ich ihn wider "Löschen".
    Wenn ich nur <delete pDlg;> aufrufe wird mein OnDestroy nicht aufgerufen (es endstehen Speicherleichen).
    Also auch, wenn ich vorm delete noch ein <pDlg->EndDialog(0);> wird mein OnDrestoy nicht ausgelöst. Also auch falsch oder?

    So nun hab ich es wie folg versucht:

    pDlg->SendMessage(WM_DESTROY,0,0);
    pDlg->EndDialog(0);
    delete pDlg;
    

    Ist das so richtig *mag nicht glauben*?



  • hi,

    probiers mal so:

    pDlg->DestroyWindow();
    delete pDlg;
    

Anmelden zum Antworten