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. :D
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 :P

Le pire c'est que je suis passer juste a coté plusieurs fois :oops:

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

Code : Tout sélectionner

LoadImage(0,"Mon image à moi que j'aime bien ici.BMP")

Publié : dim. 29/janv./2006 13:48
par wolfjeremy
Ok merci comtois :o

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
:lol: :roll: le borgne est roi au royaume des aveugles :lol:

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 :oops: excuse mais ton code je l'ai sauté sans le vouloir :oops:

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 :oops: 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 :wink: