Zeichnen von Fenstern



  • Hallo Community!

    Eine spezielle Frage zum Zeichnen von Fenstern. Wenn ich jetzt z. B. eine Funktion aufrufe die mir in Windows ein Fenster zeichnet, dann muss doch zuerst irgendwie auf der Hardware zugegriffen und anschließend gezeichnet werden.

    Weiß jemand wie dies funktioniert oder wie man selbst da eingreifen kann? Meistens werden doch Hexcodes(Bsp.: 0x20) benutzt oder?

    MfG Spacemuck



  • Die Frage ist, was Du vor hast.

    Zum Zeichnen der Fenster benutzt man in der Regel CreateWindowEx() und ShowWindow(), nix hex.
    Außerdem: Wozu willst Du auf die Hardware zugreifen, wenn das Fensterzeichnen völlig softwarmäßig geht?



  • Elektronix schrieb:

    Die Frage ist, was Du vor hast.

    Zum Zeichnen der Fenster benutzt man in der Regel CreateWindowEx() und ShowWindow(), nix hex.
    Außerdem: Wozu willst Du auf die Hardware zugreifen, wenn das Fensterzeichnen völlig softwarmäßig geht?

    Das meine ich. Wie geht CreateWindowEx vor. Wie kann ich selbst Fenster auf dem Bildschirm ausgeben, also selbst ein Fenster erstellen und diese Funktion nachbauen.

    mfg



  • Und wegen Hex: Ich sehe öfter Quellcode, bei dem in defines Hex verwendet wird wozu? Hat dies einen Zusammenhang mit der Hardware oder dem OS?

    Oder ganz einfach: Kennt jemand ein Buch, Tutorial, etc. in dem solche Sachen behandelt werden?

    mfg



  • Spacemuck schrieb:

    [...]
    Das meine ich. Wie geht CreateWindowEx vor. Wie kann ich selbst Fenster auf dem Bildschirm ausgeben, also selbst ein Fenster erstellen und diese Funktion nachbauen.
    mfg

    Das geht nicht...man könnte auch sagen: Dafür ist Windows nicht ausgelegt...bzw die Herren von oben wünschen das nicht :p
    Oder sagen wir mal die Resultate wären grauenhaft...und unbrauchbar, da du dich ja auch mit anderen Fenstern arangieren musst!

    Und wegen Hex: Ich sehe öfter Quellcode, bei dem in defines Hex verwendet wird wozu? Hat dies einen Zusammenhang mit der Hardware oder dem OS?

    Oder ganz einfach: Kennt jemand ein Buch, Tutorial, etc. in dem solche Sachen behandelt werden?

    Da gibt es keinen Zusammenhang mit der Hardware oder dem OS...das ist lediglich Codeformatierung, also zur besseren Lesbarkeit...falls du so etwas meinst:

    /*
     * Window Styles
     */
    #define WS_OVERLAPPED       0x00000000L
    #define WS_POPUP            0x80000000L
    #define WS_CHILD            0x40000000L
    #define WS_MINIMIZE         0x20000000L
    #define WS_VISIBLE          0x10000000L
    #define WS_DISABLED         0x08000000L
    #define WS_CLIPSIBLINGS     0x04000000L
    #define WS_CLIPCHILDREN     0x02000000L
    #define WS_MAXIMIZE         0x01000000L
    #define WS_CAPTION          0x00C00000L     /* WS_BORDER | WS_DLGFRAME  */
    #define WS_BORDER           0x00800000L
    #define WS_DLGFRAME         0x00400000L
    #define WS_VSCROLL          0x00200000L
    #define WS_HSCROLL          0x00100000L
    #define WS_SYSMENU          0x00080000L
    #define WS_THICKFRAME       0x00040000L
    #define WS_GROUP            0x00020000L
    #define WS_TABSTOP          0x00010000L
    
    #define WS_MINIMIZEBOX      0x00020000L
    #define WS_MAXIMIZEBOX      0x00010000L
    

    Als Buch...hmm vlt Petzold, aber das sind alles eigntl. schlicht und einfach Bitflags (numerische Konstanten)...vllt eher ein C/C++ - Buch.... 😃



  • Naja gut, das mit dem Fenster war eigentlich denkbar..., beim Hex dachte ich das seien irgendwie spezielle Funktionen. Aber bei einem eigenen OS oder UNIX oder sonst was muss man ja auch irgendwie die Fenster zeichnen können. Aber da bin ich im falschen Unterforum. Sonst Thx

    MfG Spacemuck



  • Spacemuck schrieb:

    Naja gut, das mit dem Fenster war eigentlich denkbar...

    Wie ich schon sagte: Es ist möglich, aber das Resultat ist unbrauchbar...was soll das überhaupt, wenn du WinAPI machst, dann nutz auch WinAPI Funktionen :p .

    Spacemuck schrieb:

    beim Hex dachte ich das seien irgendwie spezielle Funktionen.

    Nop. Siehe oben.

    Spacemuck schrieb:

    Aber bei einem eigenen OS oder UNIX oder sonst was muss man ja auch irgendwie die Fenster zeichnen können.
    MfG Spacemuck

    UNIX ist ein >>OS<<!
    Und -ich hab zwar noch nicht auf Apple o.ä. programmiert- aber da wird es mit Sicherheit auch Funktionen geben die dann das Fenster erstellen!

    BTW: Wenne unbedingt 'rum-malen' wills dann mach das doch unter WM_PAINT 💡



  • Das UNIX ein OS ist weiß ich. Das mit dem OS hab ich auf einem "eigenen" bezogen und nicht, dass UNIX irgendetwas anderes sei.

    Trotzdem Danke für die antworten!

    MfG


Log in to reply