In CStatic weitere Controls zeichnen?



  • Hallo allerseits, habe mal wieder nen C++-Compiler rausgeholt und mache mit den MFC rum - dabei hab ich ein kleines Problem.

    Die Sache ist die: Ich habe eine von CStatic abgeleitete Klasse namens GraphPanel. Nun möchte ich auf diesem GraphPanel weitere CStatics bzw. CButtons etc. haben. Dafür habe ich ein CStatic Member erzeugt und dem Member "attached". Leider ist das Ding nicht sichtbar ... was mache ich da falsch?

    Danke!



  • Hmm ist die Frage so trivial oder sehe ich das falsch?



  • Du musst die Childs via Create[Ex] erstellen mit WS_CHILD|WS_VISIBLE
    und als Parent dein Static angeben.

    [ Dieser Beitrag wurde am 10.09.2002 um 09:21 Uhr von Nemesyzz editiert. ]



  • Ok, das habe ich bereits gemacht. Der Aufruf sieht so ähnlich aus.

    CStatic theLabel;   // Member von GraphPanel
    
    //Im Konstruktor
    theLabel.Create(_T("This is a test"), WS_CHILD|VS_VISIBLE, CRect(10, 10, 100, 10), this, IDC_TEST);
    

    Kompiliert einwandfrei, zeigt nur nichts an 😞

    [ Dieser Beitrag wurde am 10.09.2002 um 09:39 Uhr von CengizS editiert. ]



  • Na ja von dieser Idee bin ich abgekommen. Es scheint wohl nicht möglich zu sein etwas ähnliches wie eine wiederverwendbare Komponente welche Steuerelemente enthalten kann (á la javax.swing.JPanel) zu kreieren - ç'est la vie.

    Ich habe jetzt einfach die von CStatic abgeleitete Klasse so abgeändert, dass sie nebst einem Gitternetz meine Kurven darstellt. Die übrigen zusätzlichen Steuerelemente habe ich via ResourceEditor hingepinselt - dadurch habe ich zwar viele Redundanzen aber ... es klappt wunderbar.



  • Vielleicht liege ich ja falsch,
    aber du erzeugst die child-fenster im konstruktor, also zu einem zeitpunkt, wo das parent-objekt noch kein gültiges window-handle besitzt.
    Erzeuge die child-fenster doch zu einem zeitpunkt, wenn das parent-handle schon existiert.

    Gruß


Anmelden zum Antworten