CDC kaputt?



  • Hi,

    ich brauche einen Gerätekontext CDC auf mein Fenster...

    Tja, da dachte ich, ich schau einfach mal in "VC++ in 21 Tagen" in Kapitel 8:
    Da steht dann

    CDC dc(this)
    

    nur...wenn ich das dann mache, bekomme ich folgende Fehlermeldung:

    function does not take 1 parameter
    

    Sehe ich ja irgendwie ein, da es auch in der MSDN nicht so einen Konstruktor gibt, aber warum steht das denn dann in dem Buch?
    (Testen die ihren Quellcode auch mal?)

    Wie bekomme ich denn jetzt einen CDC auf mein Fenster?

    Gruss, Tobias



  • [Schau mal in der MSDN unter GetDC oder CreateCompatibleDC nach. Der DC existiert sowieso schon, Du mußt Dir nur den Zeiger dafür holen.



  • hi,
    das mit GetDC hab ich auch versucht, aber dann bekomme ich einen Null-Pointer!

    Also:

    CDC* pDC = GetDC();
    ASSERT(pDC==NULL);

    gibt mir einen Error!



  • looooooooooool

    ASSERT(pDC != NULL);

    muss es auch heißen



  • oha... da sieht man mal, wie ich mit VC++ klar komme...

    aber:
    das hab ich auch vor 10 min. gemerkt... und habe jetzt ein ganz ganz anderes Problem...

    Bei mir sieht das so aus:
    Ich habe mit einem CSplitter links und rechts unterteilt...
    In der rechten Hälfte gibt es eine Methode draw() die was malen soll.
    Aber wenn diese Methode was malt, dann auf der linken Seite!!!!
    Wieso passiert das denn???
    Bekommt die mit GetDC() nicht einen Zeiger auf ein CDC-Objekt für die rechte Seite?
    Gruss, Tobias



  • ok, ich hab folgendes rausgefunden... ( was eigentlich keinen Sinn ergibt...)

    Ich benutze einen (vertikalen) CSplitter in CMainFrame.
    Die "linke" Klasse heisst CLeft, die "rechte" Klasse heisst CRight.

    Wenn ich jetzt in CRight GetDC() aufrufe bekomme ich offensichtlich einen CDC auf CLeft.
    Wie war das? (nochmal:)
    Ich hole mir einen CDC* mit GetDC() in CRight, will dann ein Bitmap zeichnen, und dieses Bitmap wird in CLeft gezeichnet!!!!

    Jetzt meine Fragen:
    1. Macht das irgendeinen Sinn?
    2. Wie bekomme ich den jetzt einen CDC* auf CRight ???

    HI, DANKE!
    ICH HAB EINEN FEHLER GEFUNDEN...JETZT KLAPPTS...

    [ Dieser Beitrag wurde am 15.03.2003 um 14:19 Uhr von tobis79211 editiert. ]


Anmelden zum Antworten