CMDIChildWnd



  • Hallo zusammen!
    Ich versuche eine Anwendung umzubauen. Sie ist so aufgebaut, dass es ein Hauptfenster gibt, in dem mehrere Unterfenster direkt positioniert und mit genauer Größe angezeigt werden. Im Moment ist das so geregelt, dass es Anzeige- und Eingabefenster gibt. Die Anzeigefenster sind CMDIChildWnds und die Anzeige wird gezeichnet.
    Die anderen sind Dialoge, die einfach direkt positioniert werden. Der Vorteil: Man kann sie im Ressourceneditor von Visual Studio bearbeiten, der Nachteil: bewegt man das Hauptfenster, so bewegen sich die Anzeigefenster mit, die anderen nicht. Ich habe aber davon um die 6 geöffnet.
    Ich habe also überlegt, die Eingabefenster auch zu Childwindows zu machen, muss dazu aber ein Edit darauf anzeigen können. Geht das?

    Danke für die Mühe



  • Klar geht das, nimm CFormView als Basisklasse für den View. 🙂
    Den bisher geschriebenen Code kannst du zum Großteil übertragen, ist etwas fusselig, aber es geht.



  • Heißt das, dass ich mein childWindow zusätzlich von CFormView ableiten muss? Und wie kann ich den View dann bearbeiten?



  • Ähm, ich hab von MDI leider keine Ahnung, aber du müsstest da jetzt von CView abgeleitete Klassen haben, oder? Die Childviews eben.

    Danach ist das einem Dialog sehr ählich, nur das einige Sachen anders heißen:
    OnInitDialog -> OnInitialUpdate
    Und OnOK usw. gibts eben nicht.



  • Ich hab davon leider auch keine Ahnung. Ich hab heut morgen erst herausgefunden, dass man im Klassenassistent von Visual Studio eine neue Klasse erzeugen kann, die man von CMDIChildWnd ableiten kann. Damit sieht die Deklaration dann genauso aus, wie ich sie in dem Programm bereits gefunden habe.

    // CDingsWindow frame
    
    class CDingsWindow : public CMDIChildWnd
    {
    	DECLARE_DYNCREATE(CDingsWindow)
             blablabla
    }
    

    Durchsuchen des Projekts nach CView oder CFormView war nicht erfolgreich



  • OK, ich weiß jetzt, wie ich so einen CFormView erstell. Einfach ein neues Dialogfeld erstellen und beim Aufrufen des Klassenassistenten kann man auswählen, wovon die Ressource abgeleitet sein soll.
    Ich werd damit ein bisschen rumexperimentieren und hoffe, dass es das ist, wonach ich gesucht habe. Nachmals danke


Log in to reply