Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

11

07.01.2007, 21:57

Also spacegaier...
Du wolltest dir wohl den Petzold sparen. So programmiert man doch nicht mit der WinAPI.

GetDC ist eigentlich eine Funktion, die man besser nicht benutzen sollte. Man sollte alles in WM_PAINT zeichnen (mit BeginPaint()) und bei jeder Aktion, die das Bild verändert, InvalidateRect aufrufen, damit das Fenster neu gezeichnet wird.
Um also das zu erreichen, was du im Code oben machst, wären Timer angesagt. Aber Sleep ruft man in der Windowsprozedur nur auf, wenn man den Benutzer ärgern will.

Ansonsten zu trial&error: Mit der Zeit kriegt man ein Gefühl dafür, wo man ausprobieren darf/kann und wo man besser nachdenkt.

Ciao
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

12

08.01.2007, 16:34

1. Ich habe den Petzold

2. Zecihne sonst auch immer in der WM_PAINT - Nachricht. Des oben war einfach ohne viel nach zu denken hingehauen (zum Testen wie sich HDC verhällt).

ABER: Einmal muss ich doch GetDC aucxh außerhalöb von WM_PAINT aufrufen, nämlich in WM_CREATE. Dort lade ich nämlich alle Bilder (wäre doch blöde das bei jedem Zeichenvorgang zu machen) und dafür brauche ich ja auch das HDC, oder wie machst du das?

3. Sleep nutze ich sonst auch nicht.