| |
|
|
| KompilierenMarkierenSeparierenSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Cursor - animierte Cursor verwenden
Lauffähig ab Profan-Version 5.0
PRFellow-Vorlage
Autor: Thomas Hölzer
Einen Cursor (*.CUR;*.ANI) aus einzelner Datei laden
Def GetCursor(0) !USER32,GetCursor
Def LoadCursorFromFile(1) !USER32,LoadCursorFromFileA
Def SetCursor(1) !USER32,SetCursor
Def SetClassLong(3) !USER32,SetClassLongA
Declare file#,hsavecursor&
Proc LoadFileCursor
Parameters file$
Declare hcursor&
Let hsaveCursor&=GetCursor()
Let file$=Upper$(file$)
FindFirst$(file$)
IfNot %IOResult
Dim file#,Add(Len(file$),1)
String file#,0=file$
Let hcursor&=LoadCursorFromFile(file#)
Dispose file#
SetClassLong(GetActiveWindow(),-12,hcursor&)
EndIf
Return hsavecursor&
EndProc
Proc RestorePrevCursor
Zeigt den vor dem letzten Aufruf von LoadFileCursor benutzten Cursor an
SetClassLong(GetActiveWindow(),-12,hsavecursor&)
EndProc
Beispiel
Def Sleep(1) !KERNEL32,Sleep
Cls
WindowTitle Bitte ggf. Pfadnamen im Beispiel anpassen
SetTrueColor 1
UseBrush 1,RGB(255,0,0)
Rectangle 0,0-100,100
While 1
GetMessage
If Mouse(0,0-100,100)
Das Ganze geht natürlich auch mit UseCursor oder UseExtCursor
LoadFileCursor GLOBE.ANI
While Mouse(0,0-100,100)
Sleep (20) Drosselt Prozessorauslastung
Wend
UseCursor 0 tut es in diesem Fall auch
RestorePrevCursor
EndIf
Wend
|
|
|
| |
|
|