[T] Klassen der MFC: CWnd



  • Puh, auffallen tut mir so direkt nix. Ist auch länger her das ich da was gemacht habe mit MFC.

    Ausser diesem hier:

    _ASSERTE(pWnd == pOther); // Es muss gleich sein, wir haben ja zwischendrin nichts ungesetzt.
    

    Ist das so korrekt, oder nutzt du die italienische Version von MSVC? 😃 🤡

    ps. ich würde übrigens zu wxWidgets oder QT raten :p



  • Ich hätte eine etwas ausführlichere Erklärung erwartet, was unter MFC alles als "Fenster" durchgeht - der eine Satz dort oben ist etwas knapp gehalten (selbst mit dem Link zur MFC-Klassenhierarchie).



  • phlox81 schrieb:

    Puh, auffallen tut mir so direkt nix. Ist auch länger her das ich da was gemacht habe mit MFC.

    Ausser diesem hier:

    _ASSERTE(pWnd == pOther); // Es muss gleich sein, wir haben ja zwischendrin nichts ungesetzt.
    

    Ist das so korrekt, oder nutzt du die italienische Version von MSVC? 😃 🤡

    Das ist korrekt, dieses "ASSERT" habe ich auch erst neulich im Forum entdeckt, da wird in der Messagebox gleich noch das in den Klammern (die Bedingung) ausgegeben. Sehr praktisch um schon an der Meldung zu sehen wodrum es geht. 👍

    ps. ich würde übrigens zu wxWidgets oder QT raten :p

    Die Diskussion lassen wir lieber, hier gehts um MFC - für die anderen gibts andere Artikel. 😉

    CStoll schrieb:

    Ich hätte eine etwas ausführlichere Erklärung erwartet, was unter MFC alles als "Fenster" durchgeht - der eine Satz dort oben ist etwas knapp gehalten (selbst mit dem Link zur MFC-Klassenhierarchie).

    Ich hatte auch eine ausführlichere Erklärung vor, aber mir fällt keine ein.
    Ich benutz den Kram zwar ständig aber ich krieg es nicht erklärt.

    Hättest du nen Satz parat oder ein, zwei Links aus denen man sich einen Satz erlesen kann? (Nein, ich will nicht kopieren!) 😕



  • Ich würde ja eine kurze (unvollständige) Liste anhängen, was alles als "Fenster" durchgeht (Dialoge, Dialog-Elemente, Symbolleisten, etc). Eine ausführlichere Erklärung hätte ich auch, allerdings auf die Schnelle nur in der Offline-Version der MSDN.

    *geht suchen* Ich hab's doch gefunden: derived Window Classes.



  • CStoll schrieb:

    Ich würde ja eine kurze (unvollständige) Liste anhängen, was alles als "Fenster" durchgeht (Dialoge, Dialog-Elemente, Symbolleisten, etc). Eine ausführlichere Erklärung hätte ich auch, allerdings auf die Schnelle nur in der Offline-Version der MSDN.

    Okay das werde ich noch ergänzen.

    *geht suchen* Ich hab's doch gefunden: derived Window Classes.

    Da kommt "Content not found". 😞
    Aber meine MSDN kennt das zum Glück auch. 🙂

    PS: Da ist der richtige Link: http://msdn2.microsoft.com/en-us/library/f3a0a96e.aspx
    Ah, das ist der von dir, aber du bist mit den url-Tags durcheinandergeraten. 😉



  • estartu schrieb:

    *geht suchen* Ich hab's doch gefunden: derived Window Classes.

    Da kommt "Content not found". 😞
    Aber meine MSDN kennt das zum Glück auch. 🙂

    Grml - das passiert, wenn man nicht mit den url-Tags zurechtkommt 😃



  • Was ich in so einem Artikel interessant fände, wenn du zeigen könntest wie man z.B. ein einfaches MFC-Fenster mit mehreren Steuerelementen (z.B. auch wieder Child-Fenster) per Hand (also selbst coden) anlegt. Würde bestimmt auch das Verständnis fördern und die Zusammenhänge gut aufzeigen. Ausserdem ist das meines Wissens nicht so intuitiv einfach wie z.B. unter anderen GUI-Frameworks, da die Win-API halt doch nicht sehr weit weg abstrahiert ist...



  • nep schrieb:

    Was ich in so einem Artikel interessant fände, wenn du zeigen könntest wie man z.B. ein einfaches MFC-Fenster mit mehreren Steuerelementen (z.B. auch wieder Child-Fenster) per Hand (also selbst coden) anlegt. Würde bestimmt auch das Verständnis fördern und die Zusammenhänge gut aufzeigen. Ausserdem ist das meines Wissens nicht so intuitiv einfach wie z.B. unter anderen GUI-Frameworks, da die Win-API halt doch nicht sehr weit weg abstrahiert ist...

    Das fände ich auch sehr interessant. 👍
    Allerdings gibt es da einen Haken: Das habe ich noch nie gemacht. 😞

    Ich würde das zu gerne mit aufnehmen, einmal um meine Wissenslücke zu schließen und um die bei anderen auch zu verhindern. Allerdings bräuchte ich da endgültig Hilfe.





  • Du hast nach einer Defintion von CWnd gefragt. Wie wäre es hiermit:

    Unter einem CWnd versteht man alles was weitläufig als Fenster bezeichnet werden kann (daher auch der Name Window). Ein Fenster ist ein meist rechteckiges Steuerelement welches auf dem Bildschirm dargestellt wird und sich um die Benutzerinteraktion kümmert.

    Da der Platz auf dem Bildschirm beschränkt ist sind Fenster in einer Hierarchie geordnet. Wird das Elternfenster nicht angezeigt so wird auch keines der Kinder welche sich meisten in dem Zeichenrechteck des Elternfenster befinden angezeigt.

    Der Desktop ist auch ein Fenster, wenn auch ein wenig magisch da es kein Elternfenster besitzt.

    Beispiel: Minimiert man das Hauptfenster einer Anwendung so werden auch die Buttons in diesem Fenster nicht mehr angezeigt da es sich um Kinder handelt.

    Bei anderen GUI Toolkits werden Fenster auch noch Control (ctrl) oder auch Widgets genannt.



  • Das gefällt mir. 🙂 👍


Anmelden zum Antworten