System - Text auf den Desktop zeichen
-
einen wunderschönen Sa. Nachmitag wünsche ich euch allen
hab gerade versucht auf den Desktop einen Text zu zeichnen und hab mit folgendem Code probleme:
CWnd *pWnd; CRect rec; pWnd = GetDesktopWindow(); pWnd->GetWindowRect(rec); CDC *pDC = pWnd->GetDC(); pDC->TextOut(rec.Height()/2,rec.Width()/2,"hallo Desktop"); pWnd->UpdateWindow();
Warum ist die Banane krum ?
bis denn und danke im voraus
-
Schau doch mal in die WinApi FAQ, dort steht glaub ich ein beispiel...
Devil
-
Entschuldigung das ich das in einer neuen Frage nochmals gestellt habe.
Könntest du vielleicht den Code ein wenig Kommentieren (was was macht)?????
-
Mit GetDesktopWindow holst du dir einen Handle vom Desktop, du brauchst für TextOut aber einen HDC. Deshalb versuch es mal mit GetDC(NULL).
-
es funktioniert!
CWnd *pWnd; // Zeiger auf ein CWnd Objekt CRect rec; // CRect objekt pWnd = GetDesktopWindow(); // ich hole mir das Dektopfenster pWnd->GetWindowRect(rec); // hole mir die Aktuelle Auflösung CDC pDC; // Gerätekontext pDC.m_hDC = ::GetDC(NULL); // API Aufruf mit dem ich mir das // Desktop Handle hole. pDC.TextOut(rec.Height()/2,rec.Width()/2,"hallo Chris"); // und schließlich schreibe ich den Text mit dem Dc
-
will GetDesktopWindow() net nen HWND ??
-
Die WinAPI-Funktion schon, die Methode von CWnd aber nicht.
-
FAQ damit