CreateWindow mit Resource



  • hhhmm ja, schon klar

    aber wie lade ich dann die resource?



  • CreateDialog übergibst Du per MAKEINTRESOURCE(IDD_DIALOGRESOURCENNAME) den Dialog aus Deinen Resourcen.



  • ich will es ja nicht mit CreateDialog sondern mit CreateWindowEx machen.

    also wie geht es da?



  • Gar nicht.



  • Du kannst natürlich die Funktionalität von CreateDialog nachbauen, aber das willst du bestimmt auch nicht. 🤡



  • es muss doch möglich sein in meiner anwendung fenster mit hilfe von resourcen zu erstellen ohne die funktion createdialog?

    denn bei createdialog hab ich immer ein fenster, welches sich nicht mit dem Hauptprogrammfenster mit bewegt, also außerhalb ist. das will ich vermeiden.

    oder gibt es eine möglichkeit einen dialog zu erstellen, der meinen ansprüchen entspricht?

    so gehts nicht:

    CreateDialog ( hInst,"IDD_TabGlobal", hChild2,(DLGPROC)ChildWndProc);
    
    IDD_TabGlobal DIALOGEX 200,10,100,100
    STYLE WS_CHILD | WS_VISIBLE
    EXSTYLE WS_EX_CLIENTEDGE
    FONT 8, "MS Sans Serif"
    BEGIN
    
        PUSHBUTTON      "Nein",IDNO,10,10,50,14
    
    END
    


  • Könnte sein das das dir weiterhilft:

    http://www.winapi.net/index.php?inhalt=t4



  • Du könntest es z.B. auch WM_MOVING und WM_SIZING von hChild2 abfangen und per SetWindowPos an den Dialog weiterleiten 🙄
    abervielleicht hilft dir auch der vorherige Tip - je nach dem, was genau du überhaupt vorhast 😉



  • slower schrieb:

    ist es denn nicht möglich das design für ein mit CreateWindow erzeugtes fenster aus einer resource zu laden?

    Na klar ist das möglich! Mach dir einfach zuerstmal eine Struktur:

    struct CHILD_PROPERTIES
    {
        DWORD   dwExStyle;
        LPCTSTR lpClassName;
        LPCTSTR lpWindowName;
        DWORD   dwStyle;
        int     x;
        int     y;
        int     nWidth;
        int     nHeight;
        UINT    Parent_ID;  // 0, wenn Parent==Hauptfenter
                            // sonst die ID des Parent-Controls (z.B. ne GroupBox)
        UINT    ID;
    };
    

    Solche Strukturen füllst du z.B. in einem Hex-Editor (hängst sie halt hintereinander). Das kannst du dann als z.B. .dat-File speichern und in deine Resourcen aufnehmen per BINARY. In deinem Programm schreibst du dann eine Funktion, die die Strukturen ausliest und die Fenster erstellt.
    Ich frag mich aber, warum du das nicht mit nem Dialog machen willst.

    slower schrieb:

    so gehts nicht

    Könntest du das bitte präzisieren?



  • naja ich meine mit dem obrigen sorce erhalte ich nur ein fenster, welches sich nicht mit dem Hauptprogrammfenster mit bewegt, also außerhalb ist. das will ich vermeiden.



  • WM_MOVE und WM_SIZE abfangen und an den Dialog weiterleiten 🙂
    Sorry, oben hatte ich WM_MOVING und WM_SIZING geschrieben - das ist aber nicht nötig 😉


Anmelden zum Antworten