Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
Delphi 6 Professional
|
Re: [nonVCL] Screensaver mit Preview (Template)
8. Mai 2007, 16:05
Ich nehme abhängig vom Modus (Vorschau oder Schoner) zwei verschiedene Nachrichtenschleifen:
Delphi-Quellcode:
If (Mode<>mPreview) Then Begin // nur im Schonermodus mit voller Leistung
While Not(Beenden) Do Begin
While PeekMessage(Message,0,0,0,PM_REMOVE) Do Begin
TranslateMessage(Message);
DispatchMessage(Message);
End;
Render; // rendern, sobald alles andere abgearbeitet ist - "OnIdle"
End;
End
Else Begin // Timer für Vorschaumodus
Timer := SetTimer(hWnd,0,10,Nil);
Try
While GetMessage(Message,0,0,0) Do begin
TranslateMessage(Message);
DispatchMessage(Message);
End;
Finally
KillTimer(hWnd,Timer);
End;
End;
...
//In WndProc:
WM_TIMER: Render; // Rendern bei "OnTimer"
WM_CLOSE: ...
Beenden := True;
...
Gruß, teebee
|
|
Zitat
|