Seite 1 von 3
Cursor auf Fullscreen zeichnen
Verfasst: 10.03.2008 19:13
von Tombi
Habe es schon in vielen Threads gesehen und gelesen,
bekomme es aber nicht mit meiner cursor.cur hin:
Code: Alles auswählen
InitSprite()
InitKeyboard()
InitMouse()
OpenScreen(640,480,32,"test")
ExamineKeyboard()
LoadImage(1,"cursor.cur")
Repeat
ClearScreen(0,0,0)
StartDrawing(ScreenOutput())
DrawImage(1, MouseX(),MouseY())
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Woran kann das nur liegen?
Nimmt PureBasic keine .cur Dateien?
Verfasst: 10.03.2008 19:16
von #NULL
ImageId(1) statt 1
das mit der *.cur datei, keine ahnung, ich denke mal nicht.
das kannst du aber auch herausfinden durch den rückgabewert von loadimage()
Verfasst: 10.03.2008 19:26
von Tombi
#NULL hat geschrieben:das kannst du aber auch herausfinden durch den rückgabewert von loadimage()
Bis jetzt ist es positiv (1) ausgefallen, hoffe das bleibt auch so

Verfasst: 10.03.2008 19:28
von Tombi
Ach mist, wieder nichts:
ImageID hat in Version 3.30 keine Parameter.
Und Ohne keine Änderung.
Ich weiß, ich kann auch die Demo nehmen, aber ich kann mich irgendwie mit 3.30 besser abfinden...
Verfasst: 10.03.2008 19:38
von Mok
Nimm doch Edit, anstatt 2x zu posten
Ich konnte einmal CUR-Dateien öffnen, aber das ist schon länger her, und ich weiß nich, ob ich dazu ein externes Programm/eine Userlib benutzte,
und ich kann es jetz auf die Schnelle auch nicht ausprobieren.
Verfasst: 10.03.2008 19:44
von Tombi
Ich habe es jetzt mal mit einer bmp-Datei versucht, liegt wohl doch an der .cur-Datei

(obwohl 1 zurückgegeben wird?!).
Verfasst: 10.03.2008 19:48
von Fluid Byte
Das .CUR Format wird überhaupt nicht unterstüzt ...
Verfasst: 10.03.2008 19:57
von Tombi
Dachte ich mir ^^
Mh, jetzt funktioniert der Code oben trotzdem nicht ganz:
* Mausbewegungen werden "ignoriert"
* ESC schließt NICHT das Programm.
Verfasst: 10.03.2008 19:59
von Fluid Byte
Falls Crossplatform-Kompatiblität keine Rolle spielt ginge es mit der API Variante von LoadImage():
Code: Alles auswählen
InitSprite() : InitKeyboard() : InitMouse()
OpenWindow(0,0,0,640,480,"void",#WS_OVERLAPPEDWINDOW | 1)
OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0)
hbmCursor = LoadImage_(0,"C:\WINDOWS\Cursors\arrow_m.cur",#IMAGE_CURSOR,0,0,#LR_LOADFROMFILE)
Repeat
EventID = WindowEvent()
ClearScreen(50,100,150)
ExamineKeyboard()
ExamineMouse()
StartDrawing(ScreenOutput())
DrawImage(hbmCursor,MouseX(),MouseY())
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or EventID = #WM_CLOSE
Verfasst: 10.03.2008 20:09
von Tombi
Er beschwert sich bei dem DrawImage, das irgendwas (glaub #Image oder so) NULL wäre (erster Wert in DrawImage())