Page 1 sur 1
Création de gadget.
Publié : lun. 23/févr./2009 12:15
par Anonyme
Tout est dans le titre , quelqu'un peut me mettre sur la voie pour la création de Gadget ? je suppose qu'il faut être calé avec les apis ( win32 / nux ) ?
Merci d'avance.
Publié : lun. 23/févr./2009 12:26
par Backup
Publié : lun. 23/févr./2009 12:35
par Progi1984
Publié : lun. 23/févr./2009 12:42
par Anonyme
Merci , je suis aller jeter un oeil sur codearchiv , j'y vais jamais , une petite mine d'or
http://www.purearea.net/pb/CodeArchiv/G ... rGadget.pb
Publié : lun. 23/févr./2009 14:12
par Anonyme
C'est aussi simple que ca :
Code : Tout sélectionner
; Gadget joli par Cpl.Bator :D
; PB4.3
Structure GadgetRect
x.i
y.i
EndStructure
Structure GadgetJolieArea
Position.GadgetRect
Size.GadgetRect
CallBack.i
Image.i
Surface.i
EndStructure
Procedure JoliGadgetCallback(*G.GadgetJolieArea)
Static Scroll.f
Box(0,0,*G\Size\x,*G\Size\y,$BB8844) ; Fond
Scroll + 0.05
If Scroll=>16
Scroll = 0
EndIf
; un damier...
For y = 0 To *G\Size\y Step 16
For x = 0 To *G\Size\x Step 16
a+1
a%2
If a=1
Box(x-Scroll,y-Scroll,16,16,$AA7711)
EndIf
Next
Next
EndProcedure
Procedure.i JoliGadget(x,y,Width,Height)
*JG.GadgetJolieArea = AllocateMemory(SizeOf(GadgetJolieArea))
*JG\Position\x = x
*JG\Position\y = y
*JG\Size\x = Width
*JG\Size\y = Height
*JG\CallBack = @JoliGadgetCallback()
*JG\Image = CreateImage(#PB_Any,Width,Height)
*JG\Surface = ImageGadget(#PB_Any,x,y,Width,Height,ImageID(*JG\Image),#PB_Image_Border)
ProcedureReturn *JG
EndProcedure
Procedure RedrawJoliGadget(*G.GadgetJolieArea)
StartDrawing(ImageOutput(*G\Image))
CallFunctionFast(*G\CallBack,*G)
StopDrawing()
SetGadgetState(*G\Surface,ImageID(*G\Image))
EndProcedure
OpenWindow(0,0,0,800,600,"Test")
MonGadget = JoliGadget(10,10,320,240)
MonGadget2 = JoliGadget(340,10,320,240)
Repeat
event = WindowEvent()
RedrawJoliGadget(MonGadget)
RedrawJoliGadget(MonGadget2)
Until event = #PB_Event_CloseWindow
Je ne me suis jamais penché sur des application pur & dur.
Ca me donne pas mal d'idée , surtout que là c'est portable à 100%
Prochaine étape pour moi , me faire une jolie grille 2D zoomable et scrollable !
Merci de m'avoir mis sur les rails les gars !
Publié : lun. 23/févr./2009 14:23
par Cls
Effectivement c'est hyper simple ! Je vais certainement me pencher la dessus quand j'aurais un peu plus de temps.
Merci Cpl.Bator pour ce p'tit code sympatoche

Publié : lun. 23/févr./2009 14:29
par Geo Trouvpatou
Salut.
Ben c'est une question que je me posais depuis longtemps, mais moi dés que ça implique les pointeurs c'est déjà hors de portée.
Quand j'ai vu que même un Cpl.Bator ne savait pas faire ça, alors qu'il a fait une jolie bibliothèque comme "PureBasic Screen GUI", alors je me suis dit qu'il fallait être un grand gourou de l'ASM.
Apparemment pas tant que ça, même si j'sais pas trop à quoi peut bien servir ce beau gadget, sinon me faire avoir une crise d'épilepsie.
Ce qu'il y a bien depuis ces derniers temps c'est que l'on a de plus en plus d'adepte de la portabilité

.
Bon ben maintenant je croise les doigts pour qu'il vienne l'envie à Cpl.Bator de faire une aussi jolie bibliothèque pour Le mode fenêtre graphique qu'il l'a fait avec "PureBasic Screen GUI".
Je suis sûr qu'elle aurait un immense succès

.
Bye.
Publié : lun. 23/févr./2009 15:29
par jbernard13
c'est tres joli mais
un peu trop compliqué pour moi
Publié : mar. 24/févr./2009 3:28
par poshu
Dans l'idée, c'est pas mal, mais c'est loin d'être un véritable création de gadget. Je me suis déjà posé la question quand à l'intégration d'un gadget custom (surtout au niveau de la gestion des event) et j'avoue que j'ai pas trouvé de solution... J'vais aller voir vos liens, au cas où.
Publié : mar. 24/févr./2009 7:31
par Progi1984
Regarde mon lien, ca intégre un gadget au niveau des commandes PB. Mais je sais plus pour les events !
Publié : mar. 24/févr./2009 9:21
par Anonyme
Progi1984 , le problème c'est que c'est pas portable.
Publié : mar. 24/févr./2009 10:17
par Progi1984
A l'heure actuelle

, je vais voir ce que je peux faire
