Rahmen/Schatten im Hauptfenster



  • Hallo,

    ich komme aus der reinen WinAPI und möchte mich nun an die Objektorientierung mit der MFC heranwagen. Ich benutze Visual Studio 2008 Pro.

    Wenn ich eine MFC-Anwendung erstelle, öffnet sich ja erst einmal ein Assistent, mit dessen Hilfe ich allerlei Einstellungen für mein Projekt vornehmen kann.

    Erste Frage:
    Wie kann ich diese Einstellungen nachträglich verändern? Geht das überhaupt?

    Ich habe eine Klasse von CFrameWnd abgeleitet und mit Create() ein WS_OVERLAPPEDWINDOW erstellt. Anders als erwartet, zeigt sich nun aber ein Rahmen/Schatten innerhalb des Fensters.

    Zweite Frage:
    Wie kann ich den wegmachen?

    Danke schonmal,
    Gruß Max

    EDIT:
    Ok, die zweite Frage konnte ich mittlererweile doch alleine lösen:

    ModifyStyleEx(WS_EX_CLIENTEDGE,0,SWP_FRAMECHANGED);
    

    Die Antwort auf die erste Frage interessiert mich aber immernoch brennend 😋


  • Mod

    Die Einstellungen, die der Assistent vorgenommen hat kann man nur durch entsprechendes Code einfügen/löschen (meistens sind es nur extra Handler) korrigieren.

    Hängt wirklich davon ab, was Du machen möchtest. Es wird durch den Wizard schon einiges im Framework festgelegt.
    Wenn es um die Basisklasse Deines Views geht machst Du das natürlich indem Du die Basisklasse änderst.

    Wenn es grundsätzliche Änderungen betrifft MDI/SDI/Dialog, kann man diese kaum mehr nachträglich ändern. Aber das ist nicht schlimm, denn die View/Doc Klassen die hauptsächlich Arbeit machen kann man entsprechend in ein neues Projekt übernehmen.


Anmelden zum Antworten