fenster framework erstellungsreihenfolge



  • hola leute

    erstell grad ein mini framework fuer fenster und controlerstellung.
    jetzt stellt sich mir die frage:
    (ich sag mal zur c++ klasse fensterklasse und zum fenster das mit CreateWindow erstellt wird window:)
    zuerst die fensterklasse erstellen und von ihr das window erstellen lassen oder umgekehrt ?

    pseudecode:

    OverlappedWindow win;
    win.create(); /* hier WNDCLASS, RegisterClass und CreateWindow */
    

    oder

    WNDCLASS wc
    ...
    RegisterClass(&wc);
    CreateWindow(...);
    /* mit WM_CREATE message wird dann die klasse mit der datenhaltung per new erstellt und dann im feld GWLP_USERDATA gespeichert. 
    wenn WM_DESTROY kommt loesche ich die klasse in GWLP_USERDATA */
    

    Meep Meep



  • Hi,
    Die Registrierung mache ich im Constructor. Aber pro Klasse nur einmal.
    Mfg


  • Mod

    Ich mache das ähnlich wie in der MFC in einem PreCteate.
    Einfach bei Bedarf registrieren.



  • Martin Richter schrieb:

    Ich mache das ähnlich wie in der MFC in einem PreCteate.
    Einfach bei Bedarf registrieren.

    hallo martin

    ich kenn mich leider mit der MFC ueberhaupt nicht aus.
    koenntest du mir in stichworten kurz aufzeigen wie da der ableuf ist ?
    also in welcher reihenfolge was erstellt wird ?

    danke

    Meep Meep


  • Mod

    Naja wie man es sich eben denkt!

    CWnd::Create ruft eine virtuelle Funktion CWnd::PreCreate auf, diese bereitet die Create Struct vor und sorgt für die Registrierung der Klassen.

    Klassen warden registriert wenn es nötig ist. Manche Klassen werden aber auch "vorregistriert".


Anmelden zum Antworten