Page 1 sur 2

Charger un curseur en data

Publié : lun. 16/oct./2006 14:38
par Progi1984
Voilà, j'ai fait un IncludeBinary sur un fichier d'extension CUR, cad un curseur.

Je souhaiterais l'utiliser dans mon programme. Comment pourrais je faire ?

Publié : lun. 16/oct./2006 14:57
par gnozal
Peut-être ce code peut-il t'aider : chargement du curseur à partir de data (pas à partir d'un .CUR mais d'une image) avec CreateIconIndirect_() :

Code : Tout sélectionner

Procedure DoCursor() 
  result = 0 
  mycursor = CatchImage(#PB_Any, ?MidFinger, ?EndCur - ?MidFinger) 
  newCursor = ResizeImage(mycursor, 32, 32) 
  img1 = CreateImage(#PB_Any, 32, 32) 
  StartDrawing(ImageOutput(img1)) 
  DrawImage(newCursor, 0, 0, 32, 32) 
  maskcolor = Point(0, 0) 
  For x = 0 To 31 
    For y = 0 To 31 
      If Point(x, y) = maskcolor 
        Plot(x, y, #White) 
      Else 
        Plot(x, y, #Black) 
      EndIf 
    Next y 
  Next x 
  StopDrawing() 
  icoInf.ICONINFO 
  icoInf\fIcon = #False 
  icoInf\xHotspot = 15 
  icoInf\yHotspot = 1 
  icoInf\hbmMask = ImageID(img1) 
  icoInf\hbmColor = newCursor 
  mycursor = CreateIconIndirect_(@icoInf) 
  If mycursor 
    result = mycursor 
  Else 
    result = 0 
  EndIf 
  ProcedureReturn mycursor 
EndProcedure 
Procedure UN_Restriction() 
  country$ = Space(6) 
  GetLocaleInfo_(#LOCALE_USER_DEFAULT, #LOCALE_ICOUNTRY, @country$, 6) 
  ProcedureReturn Val(country$) 
EndProcedure 
img0 = CreateImage(#PB_Any, 50, 50) 
StartDrawing(ImageOutput(img0)) 
Box(0, 0, 50, 50, #Red) 
StopDrawing() 
If  OpenWindow(0, 10,10, 100, 200, "Test", #PB_Window_SystemMenu) And CreateGadgetList(WindowID(0)) 
  ImageGadget(0,10,10,50,50,ImageID(img0)) 
  ButtonGadget(1,10,70,50,50,"A") 
  If UN_Restriction() <> 61 
    finger = #True 
    HandCur = DoCursor() 
  Else 
    HandCur = LoadCursor_(0, #IDC_HAND) 
  EndIf 
  WaitCur = LoadCursor_(0, #IDC_WAIT) 
  Repeat 
    event = WaitWindowEvent() 
    Select ChildWindowFromPoint_(WindowID(0), WindowMouseX(0), WindowMouseY(0)) 
      Case GadgetID(0) 
        SetCursor_(HandCur) 
      Case GadgetID(1) 
        SetCursor_(WaitCur) 
    EndSelect 
  Until event = #PB_Event_CloseWindow 
  If finger 
    DestroyIcon_(HandCur) 
  EndIf 
EndIf 
End 
DataSection 
MidFinger: 
Data.b $42,$4D,$52,$04,$00,$00,$00,$00,$00,$00,$52,$00,$00,$00,$28,$00 
Data.b $00,$00,$20,$00,$00,$00,$20,$00,$00,$00,$01,$00,$08,$00,$00,$00 
Data.b $00,$00,$00,$04,$00,$00,$12,$0B,$00,$00,$12,$0B,$00,$00,$07,$00 
Data.b $00,$00,$00,$00,$00,$00,$FF,$FF,$FF,$00,$B5,$B5,$B5,$00,$73,$73 
Data.b $73,$00,$FF,$00,$00,$00,$84,$00,$00,$00,$73,$00,$00,$00,$00,$00 
Data.b $00,$00,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$05,$03,$03 
Data.b $04,$04,$04,$04,$04,$04,$04,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$05,$03,$03 
Data.b $04,$04,$04,$04,$04,$04,$04,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$05,$03,$03 
Data.b $04,$04,$04,$04,$04,$04,$04,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$05,$03,$03 
Data.b $04,$04,$04,$04,$04,$04,$04,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$05,$03,$03 
Data.b $04,$04,$04,$04,$04,$04,$04,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$04,$04 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00 
Data.b $00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00 
Data.b $00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$00 
Data.b $00,$00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$00,$00 
Data.b $00,$00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$00,$00 
Data.b $00,$00,$00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$00,$00,$00 
Data.b $00,$00,$00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$00,$00,$00 
Data.b $00,$00,$00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$00,$00,$00,$00 
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$00,$00,$00,$00 
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$00,$00,$00,$00 
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$00,$02,$00,$00 
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$01,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$00,$06,$00,$00 
Data.b $00,$00,$00,$00,$00,$00,$02,$00,$01,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$01,$06,$00,$01 
Data.b $02,$00,$00,$02,$00,$01,$06,$00,$01,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$06,$00,$01 
Data.b $06,$00,$01,$06,$00,$01,$06,$00,$01,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$01 
Data.b $06,$00,$01,$06,$00,$01,$06,$02,$02,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$00,$01 
Data.b $06,$00,$01,$06,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$02 
Data.b $06,$00,$01,$06,$02,$02,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$00,$01,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$02,$02,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06 
Data.b $06,$06 
EndCur: 
EndDataSection
vu dans ce thread : http://www.purebasic.fr/english/viewtop ... sc&start=0

Publié : lun. 16/oct./2006 15:18
par Progi1984
Merci, je test dés que possible !

Publié : mar. 17/oct./2006 7:52
par Progi1984
COmment pourrais je transformer mon curseur en data ?
Car j'ai bien essayé le IncBin mais ca ne marche pas !

Publié : mar. 17/oct./2006 9:07
par Backup
Progi1984 a écrit :COmment pourrais je transformer mon curseur en data ?
Car j'ai bien essayé le IncBin mais ca ne marche pas !
mon petit code ici en bas de la liste des post (le dernier code)
transforme une image (png,jpg,tga) en data

voir ici http://purebasic.forum-gratuit.com/view ... light=data

Publié : mar. 17/oct./2006 9:14
par Progi1984
Mais le problème, c'est que c'est un fichier de type curseur donc CUR.

Publié : mar. 17/oct./2006 15:31
par lionel_om
Screenshot et paint ca va pas ? :lol:
(j'suis de la vielle école moi !! )

Publié : mar. 17/oct./2006 15:54
par Progi1984
Non, dsl :(

Publié : mar. 17/oct./2006 15:54
par Dr. Dri
les cur c'est comme des ico nan ? donc pb doit pouvoir les charger normallement

Dri

Publié : mar. 17/oct./2006 16:01
par Progi1984
J'ai essayé ms ca ne marche point :(

Publié : mar. 17/oct./2006 16:23
par Dr. Dri
Je te confirme que chez moi ca fonctionne, j'arrive à les ouvrir comme les icônes...

Dri

Publié : mer. 18/oct./2006 8:09
par Progi1984
Essaie avec le curseur se trouvant dans le zip là :
http://purebasic.hmt-forum.com/viewtopi ... 5924#55924

Publié : jeu. 19/oct./2006 6:20
par Dr. Dri
Bah nickel chez moi :-?

Dri

Publié : jeu. 19/oct./2006 9:00
par Progi1984
Punaise, peux tu me filer le code que tu utilises car là je pige rien !

Publié : jeu. 19/oct./2006 18:44
par Dr. Dri
le code d'exemple de l'imagegadget

Dri