Etwas anderes als Sleep?



  • hi!

    Gibt es etwas anderes als Sleep? Es schaut etwas unschön aus wenn eine Animation läuft und so ein Cursor erscheint.. Habt ihr etwas anderes?

    Mit freundlichen Grüße
    Takeru



  • Wofür



  • Damit der Cursor nicht in der Animation auffällt



  • Und wenn man ins Fenster drückt, bekomm ich keine Rückmeldung mehr, also bald schließt sich das fenster.. Habt ihr da eine Bessere Idde?



  • Beschreib dein Problem so genau wie möglich, es gibt Timer, es gibt Threads ... wir können dir aber ohne Infos nicht sagen, was bei dir am Besten passt.



  • Ok, ENtschuldigung..

    Also ich bin dabei ein Spiel zu erstellen, und jetzt bin ich beim Intro(Opening). Daher ich schon vieles versucht habe Animierte Gifs anzuzeigen und es niee geklappt hat(CImage, IPicture...) will ich jetzt ein BMP nach dem anderen abspielen. Also ich zeichne das Bild dannach Sleep(100); und dann nächstes Bild, dannach Sleep(100);....
    Das funktioniert auch sehr gut aber wenn ich es verschieben will oder minimieren will, bekomm ich keine Rückmeldung mehr... Also fangt er an mit: Programm neustarten und Warten auf Antwort(Habe Vista).
    Was mich noch stört ist das die Maus in XP eine Sanduhr wird und in Vista ein Kreis.

    Jetzt such ich wegen diesen 2 Probleme etwas anderes als Sleep(); damit das nicht passiert.

    Mit freundlichen Grüße
    Spite



  • Male bitte in "OnPaint" bzw. mit "WM_PAINT!



  • Spite schrieb:

    Also ich zeichne das Bild dannach Sleep(100); und dann nächstes Bild, dannach Sleep(100);....

    benutze diese windows timer dafür. SetTimer, WM_TIMER, etc. das lässt die MSG-loop am leben und die anwendung reagiert wie gewohnt. starte einen timer mit 10Hz und male ein bild bei jedem timer-event bzw. erzeuge mit InvalidateRect/UpdateWindow eine WM_PAINT message.

    Jochen Kalmbach schrieb:

    Male bitte in "OnPaint" bzw. mit "WM_PAINT!

    aber benutze nicht 'Sleep'
    🙂



  • DANKE! Es funktioniert so wie ich es haben wollte 😃 😃 😃



  • Vielleicht zur Erklärung,

    Mit Sleep() - schläft - dein Programm Wortwörtlich und reagiert daher auch nicht
    mehr auf Ereignise wie z.B. ein Klick auf den Fensterrahmen um es zu verschieben.


Anmelden zum Antworten