CreateDialog



  • Hi,

    mal was aus der Platform SDK: "The CreateDialog macro creates a modeless dialog box...". Also ist CreateDialog nur ein Makro, das CreateWindow aufruft, um das Fenster zu erstellen und dann die Controls erstellt. Hat einer ne Idee, wo das definiert ist? Ich such grad wie nen Irrer die DevStudio-Verzeichnisse durch, find aber nix...
    Ich hab hier nämlich eine Klasse, die eine Dialogbox darstellt. Ich hab aber wenig Lust, immer die Resourcen-Datei mit rumzuschleppen, also würd ich wohl auch etwas mehr Arbeit in Kauf nehmen, und das Fenster und die Controls selber erstellen.
    Irgendwelche Tipps?

    bye,
    fallen



  • Hier das tolle Makro 😉

    #define CreateDialogA(hInstance, lpName, hWndParent, lpDialogFunc) \
    CreateDialogParamA(hInstance, lpName, hWndParent, lpDialogFunc, 0L)
    
    #define CreateDialogW(hInstance, lpName, hWndParent, lpDialogFunc) \
    CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0L)
    

    Datei: winuser.h
    Zeile: 4030

    Das dürfte dich aber nicht weiterbringen. CreateDialogParamA/CreateDialogParamW sind nämlich keine Makros. 🙂



  • So weit war ich auch schon. 😉
    Hat nicht einer nen paar gute Links zum Thema Dialoge erstellen ohne Resourcen? Also alles von Hand machen? Kann doch eigentlich nicht so schwer sein...



  • Jo, ist doch ganz einfach. Steht doch eigentlich in jedem Tutorial. Ein Dialog ist ja auch einfach nur ein Fenster. Um das original Dialog-Verhalten zu erzielen einfach nur beim Registrieren der Fensterklasse cbWndExtra auf DLGWINDOWEXTRA setzen und in der Window-Procedure DefDlgProc statt DefWindowProc aufrufen. Oder du erstellst die Dialoge-Templates im Speicher:

    Inputbox (oder allg. Dialoge ohne Resourcen)



  • Hey, das sieht gut aus, genau was ich gesucht habe! Thx!


Anmelden zum Antworten