klassen eines fenstersystems



  • hallo leute

    ich halte mich jetzt mal an das system von windows, da es dass einzige ist das ich kenne.
    die frage hier kommt aus dem gestrigen thread mit dem member function pointer.
    will meine basic klassen neu und standard konform machen. hab da noch einige wrapperklassen angesehen und bissl was dazu gelesen. hab da einige unterschiedliche ansaetze gesehen:

    window ist hier die fensterklasse, callback ist eine klasse die die WindowProc kapselt:

    (1)

    struct window
    {
       HWND handle;
       long WindowProc(...);
    };
    

    (2)

    struct callback
    {
       long WindowProc(...);
       HWND handle;
    };
    
    struct window
    {
       callback cb;
    };
    

    (3)

    struct window
    {
    
    };
    
    struct callback
    {
       HWND handle;
       window *win;
       long WindowProc(...);
    };
    

    (4)

    struct callback
    {
       HWND handle;
       long WindowProc(...);
    };
    

    ich hab es bisher wie (2) gemacht. ein fenster das ein callback objekt besitzt.
    was wurdet ihr intuitiv als besser oder richtig empfinden ? gibt es noch andere varianten ?

    Meep Meep



  • Meep Meep schrieb:

    ich hab es bisher wie (2) gemacht. ein fenster das ein callback objekt besitzt.
    was wurdet ihr intuitiv als besser oder richtig empfinden ? gibt es noch andere varianten ?

    (2) wobei window::cb ein Pointer ist, und callback umbennant wurde in
    fuenf_meter_lange_stange_mit_kneifzange_am_ende_PIMPL
    Definition dieser Struktur und ihrer Member-Funktionen dann nur mit mindestens 10m Abstand zu jeder Header-Datei 😃

    SCNR (scherzhaft, aber durchaus mit einem guten Schuss Ernsthaftigkeit gemeint),
    Finnegan


Anmelden zum Antworten