Page 1 sur 3
PureBasic Visual Designer => mettre une image de fond ?
Publié : jeu. 26/janv./2006 11:30
par wolfjeremy
Salut, je voulais savoir si il était posssible dans PureBasic Visual Designer de mettre une image de fond a son programme ?
Merci d'avance pour votre réponse.
Publié : jeu. 26/janv./2006 19:05
par CameleonTH
Essai de faire sa
Code : Tout sélectionner
CreateImage(0,640,480)
StartDrawing(ImageOutput())
Box(0,0,640,480,RGB(0,255,0))
Line(0,0,640,480,RGB(255,0,0))
Line(0,480,640,-480,RGB(0,0,255))
StopDrawing()
hwnd=OpenWindow(0,100,100,640,480,#PB_Window_SystemMenu,"Test")
SetWinBackgroundImage(WindowID(0),ImageID())
Repeat
Until WindowEvent()=#PB_Event_CloseWindow
Mais par contre il faut la librairie PBOSL SkinWin.
SInon il y a une autre méthode mais je me rapelle plus.
Publié : jeu. 26/janv./2006 21:12
par Backup
...
Publié : jeu. 26/janv./2006 21:35
par erix14
Sans la librairie PBOSL SkinWin.
hImageFond = CreateImage (0,640,480)
StartDrawing ( ImageOutput ())
Box (0,0,640,480, RGB (0,255,0))
Line (0,0,640,480, RGB (255,0,0))
Line (0,480,640,-480, RGB (0,0,255))
StopDrawing ()
hBKBrush= CreatePatternBrush_ (hImageFond)
hwnd= OpenWindow (0,100,100,640,480, #PB_Window_SystemMenu|#PB_Window_Invisible , "Test" )
SetClassLong_ (hwnd, #GCL_HBRBACKGROUND ,hBKBrush)
HideWindow (0,0)
Repeat
Until WindowEvent ()= #PB_Event_CloseWindow
DeleteObject_ (hBKBrush)
Publié : ven. 27/janv./2006 10:43
par gnozal
Autre possibilité, avec un ImageGadget (pas de problèmes de rafraîchissement) :
Code : Tout sélectionner
If CreateImage (0,640,480)
If StartDrawing ( ImageOutput ())
Box (0,0,640,480, RGB (0,255,0))
Line (0,0,640,480, RGB (255,0,0))
Line (0,480,640,-480, RGB (0,0,255))
StopDrawing ()
EndIf
EndIf
If OpenWindow (0,100,100,640,480, #PB_Window_SystemMenu|#PB_Window_Invisible , "Test" )
If CreateGadgetList(WindowID())
ButtonGadget(1, 50, 50, 50, 20, "Test")
ImageGadget(0, 0, 0, 640,480, UseImage(0))
SetWindowLong_(GadgetID(0), #GWL_STYLE, GetWindowLong_(GadgetID(0), #GWL_STYLE) | #WS_CLIPSIBLINGS)
EndIf
HideWindow (0,0)
Repeat
WindowEvent = WindowEvent()
If WindowEvent = #PB_Event_Gadget
If EventGadgetID() = 1
MessageRequester("Test", "Button!")
EndIf
EndIf
Until WindowEvent = #PB_Event_CloseWindow
EndIf
Publié : dim. 29/janv./2006 13:03
par wolfjeremy
Heu les gars, c'est peut etre moi qui suit un gros noob lol mais la vous faite juste une couleur de fond avec deux ligne ? lol un box et deux line quoi.. moi je veu mettre une image png...

Publié : dim. 29/janv./2006 13:28
par Polo
ben tu lis la doc, tu tombes sur DrawImage, tu te dis "Je suis con ! Je devrais lire plus souvent la doc !", et tu continues ton projet

Publié : dim. 29/janv./2006 13:35
par wolfjeremy
A oui merci
Le pire c'est que je suis passer juste a coté plusieurs fois 
Publié : dim. 29/janv./2006 13:38
par comtois
DrawImage ?
tu peux simplement remplacer ça
Code : Tout sélectionner
If CreateImage (0,640,480)
If StartDrawing ( ImageOutput ())
Box (0,0,640,480, RGB (0,255,0))
Line (0,0,640,480, RGB (255,0,0))
Line (0,480,640,-480, RGB (0,0,255))
StopDrawing ()
EndIf
EndIf
par
Publié : dim. 29/janv./2006 13:48
par wolfjeremy
Ok merci comtois

Publié : dim. 29/janv./2006 14:02
par Backup
je te ferai remarquer que mon exemple te demande de choisir une image sur ton disk dur pour l'afficher !!
et que tout ces format sont pris en compte
UseJPEGImageDecoder ()
UsePNGImageDecoder ()
UseTIFFImageDecoder ()
UseTGAImageDecoder ()
Publié : dim. 29/janv./2006 14:16
par Polo
Dobro a écrit :je te ferai remarquer que mon exemple te demande de choisir une image sur ton disk dur pour l'afficher !!
C'est vrai ça en plus, ça m'étonnait tellement qu'il ne trouve pas la solution, je ne m'attendais pas à ce qu'elle soit déjà donnée

Publié : dim. 29/janv./2006 14:29
par Backup
Publié : dim. 29/janv./2006 15:03
par wolfjeremy
Dobro a écrit :je te ferai remarquer que mon exemple te demande de choisir une image sur ton disk dur pour l'afficher !!
et que tout ces format sont pris en compte
UseJPEGImageDecoder ()
UsePNGImageDecoder ()
UseTIFFImageDecoder ()
UseTGAImageDecoder ()
Ho zut

excuse mais ton code je l'ai sauté sans le vouloir

Publié : dim. 29/janv./2006 18:25
par wolfjeremy
Par contre, j'ai fait une image bouton dans mon programme, sa donne sa :
Procedure ouvre_fenetre_connexion()
If OpenWindow(#fenetre_connexion, 0, 0, 775, 645, #PB_Window_SystemMenu | #PB_Window_WindowCentered, "CodesBooster")
;Liste des gadget de la fenetre
If CreateGadgetList(WindowID() )
StringGadget(#gadget_ecrire_login, 147, 291, 201, 27, "Nom d'utilisateur", #PB_String_BorderLess)
StringGadget(#gadget_ecrire_pass, 149, 347, 201, 27, "Password", #PB_String_BorderLess | #PB_String_Password)
CheckBoxGadget(#gadget_checkbox_info, 327, 413, 12, 12, "")
If LoadImage(#image_bouton_connexion, "images\b_connex.png")
ButtonImageGadget(#gadget_bouton_connexion, 208, 470, 86, 21, #image_bouton_connexion)
EndIf
EndIf
EndIf
EndProcedure
Mais il n'y a aucune image sur mon bouton

pouvez vous m'expliquez où j'ai fait une erreur ? a oui aussi au debut de mon programme j'ai declarer les constante, donc mon programme est complet, mais j'ai juste afficher la partie du code qui ajoute le bouton
