[gelöst] Probleme mit Tab Control



  • Hallo allerseits!

    Ich würde gerne eine Tab Control in einen Dialog einbauen.

    Dazu habe ich mir auch schon ein paar Beispiele angeshen, die mit von CTabCtrl abgeleiteten Klassen arbeiten:

    http://www.codersource.net/mfc_ctabctrl.html
    http://simplesamples.info/MFC/CTabCtrl.php

    Damit hatte ich allerdings ein paar Probleme, auf die ich vorerst mal nicht eingehe, sondern statt dessen stelle ich die Frage:

    Kann man CTabCtrl nicht irendwie "direkt" nutzen, ohne davon eine eigene Klasse abzuleiten?

    Kennt jemand Beispiele oder Tutorials dazu?

    Danke und Gruß,
    Dong



  • zum theama direkt ableiten hab ich keine ahnung
    aber zum Thema des 2,ten links (Creating Tab Controls Using CTabCtrl)
    ich nutzt das selbst und ich hab damit keine probleme selbst wenn es riesen dialoge oder 20 tabs im Tabdialog sind.

    wo liegt dein prob erzähl mal.

    mfg
    LowFly



  • LowFly schrieb:

    wo liegt dein prob erzähl mal.

    Na gut:
    Aus dem Beispielprojekt habe ich die Klasse CTabby ausgebaut und in ein eigenes Projekt eingebaut. (Natürlich habe ich die Dialog IDs und Klassennamen geändert...)

    Läuft soweit auch ganz gut, nur:

    Bei Aufruf des Dialgogs ist Tab1 angewählt, aber der passende Tab-Dialog wird nicht angezeigt.
    Tabwechsel funktioniert, und wenn ich von Tab2 wieder zu Tab1 zurückwechsle, wird auch dort der Tab-Dialog angezeigt.

    Muss ich vielleicht noch was in OnInit des Hauptdialogs stecken?
    Ich hab da zwar noch nichts entdecken können, aber vielleicht habe ich es ja übersehen...

    Danke und Gruß,
    Dong



  • PS:
    Zum Nachvollziehen:
    Mein Testprojekt: http://home.arcor.de/c-dong/probierwiesetab.zip (25kB)



  • OK, ich habs selber:

    Einfach an's Ende der PreSubclassWindow() etwas hinzufügen:

    void CTabby::PreSubclassWindow() {
    	...
    	m_pDialogs[0]->EnableWindow(TRUE);
    	m_pDialogs[0]->ShowWindow(SW_SHOW);
    }
    

    Wundert mich trotzdem, dass das nötig ist, in der Resource View sind bei allen Dialogen disabled = false und visible=true...

    Edit:
    Nee, Quatsch, visible war auf false... *kopf gegen wand klopf...*

    Danke und Gruß,
    Dong


Anmelden zum Antworten