CButton mit MFC



  • Hallo!

    Habe heute angefangen mich mit MFC zu beschäftigen.
    Jetzt bin ich gerade dabei einen Button in mein Fenster einzufügen.
    Habe es mit folgendem Code versucht:

    BOOL CMyApplication::InitInstance()
    {
    m_pMainWnd = new CMyWindow;
    m_pMainWnd ->ShowWindow( m_nCmdShow );

    // --- Button -----------------------------------------
    CButton button1;
    CRect* rect = new CRect();
    rect->left=10;
    rect->top=10;
    rect->right=200;
    rect->bottom=200;
    button1.Create("OK", WS_VISIBLE | WS_CHILD | BS_TEXT, *rect, m_pMainWnd, 1);
    button1.ShowWindow(m_nCmdShow);
    // ----------------------------------------------------

    return TRUE;
    }

    Ich erhalte zwar keine Fehler, aber ich sehe den Button nicht.

    Was habe ich falsch gemacht?

    Danke!

    mfg



  • button als membervariable machen, sonst wird er gleich wieder zerstört. und warum das Rect auf dem Heap?



  • ???????????? schrieb:

    und warum das Rect auf dem Heap?

    Warscheinlich einmal so gesehen und immer wieder gemacht 😃 .
    Also für "Einsteiger" bedeutet das im Code "CRect rect(10, 10, 200, 200);" und wie gesagt den Button auf den Heap oder als Member von CMyApplication (einfacher und besser).



  • ansonsten würde das

    delete rect;
    

    fehlen!

    Wenn du mit new einen Speicher resevierst, dann mußt du ihn selber wieder freigeben (mit delete) wenn du ihn nicht mehr brauchst.
    MFG, Sigi


Anmelden zum Antworten