PureBasic

Forums PureBasic
Nous sommes le Sam 20/Juil/2019 8:31

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 21 messages ]  Aller à la page 1, 2  Suivante
Auteur Message
 Sujet du message: Image de fond et centrage de gadget
MessagePosté: Dim 22/Juil/2018 13:47 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1631
Localisation: Belgique
Bonjour à tous,

FR4NK13 m'a posé une question sur skype à ce sujet, plutôt que de lui montré un exemple je poste sur le forum pour que cela profite éventuellement à d'autres

Etape 1 enregistrez l'image ci-dessous dans le même répertoire que le fichier Pb avec le nom "Logo.png"

Image

Et voici le code

Code:
; Placer une image de fond et centrer des boutons dans une fenêtre
; AUTHOR : microdevWeb
;

Enumeration
  #MainForm
  #MainCanvas
  #Bt_play
  #Bt_exit
  #IMG_BG
EndEnumeration

EnableExplicit ; les variable doivent être déclarée
UsePNGImageDecoder() ; on va traité des images png
; on charge l'image
If Not LoadImage(#IMG_BG,"Logo.png")
  MessageRequester("ERRERU chargement image","L'image n'a pas peu être chargée",#PB_MessageRequester_Error)
  End
EndIf
; procédure pour dessiner l'image
Procedure drawBg()
  Protected wc = GadgetWidth(#MainCanvas) ; largeur du canvas
  Protected hc = GadgetHeight(#MainCanvas); hauteur du canvas
  Protected wi = ImageWidth(#IMG_BG)      ; largeur de l'image de fond
  Protected hi = ImageHeight(#IMG_BG)     ; hauteur de l'image de fond
  Protected x = (wc / 2) - (wi /2)        ; le centre en X
  Protected y = (hc / 2) - (hi /2)        ; le centre en y
  StartDrawing(CanvasOutput(#MainCanvas))
  ; on efface avec la même couleur que le fond de l'image
  Box(0,0,wc,hc,$FF666666)
  ; on dessine l'image
  DrawImage(ImageID(#IMG_BG),x,y)
  StopDrawing()
EndProcedure
; procédure pour placer les boutons
Procedure positionButtons()
  Protected wc = GadgetWidth(#MainCanvas) ; largeur du canvas
  Protected hc = GadgetHeight(#MainCanvas); hauteur du canvas
  Protected x = (wc/2) - 50
  ; pour le centrage je remonte le premier bouton de 75 pxl
  Protected y = (hc/2) - 75
  ResizeGadget(#Bt_play,x,y,#PB_Ignore,#PB_Ignore)
  ResizeGadget(#Bt_exit,x,y + 75,#PB_Ignore,#PB_Ignore)
EndProcedure
; Procédure pour quitter le program
Procedure exit()
  CloseWindow(#MainForm)
  End
EndProcedure
; procédure de redimentionnent
Procedure eventResize()
  ; je redimentionne le canvas
  ResizeGadget(#MainCanvas,0,0,WindowWidth(#MainForm),WindowHeight(#MainForm))
  ; je dessine le fond
  drawBg()
  ; je repositionne les bouttons
  positionButtons()
EndProcedure
; Procédure de démarage du program
Procedure start()
  ; je charge l'image
  ; ouverture de la fenêtre principal
  OpenWindow(#MainForm,0,0,800,600,"Fond d'écran",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget)
 
  ; on place un canvas pour le fond d'écran qui servira également de contaioner
  CanvasGadget(#MainCanvas,0,0,800,600,#PB_Canvas_Container)
  ; on dessine l'image
  drawBg()
  ; j'ajoute des boutons que je positonnerais plus avec une procédure
  ButtonGadget(#Bt_play,0,0,100,30,"Jouer")
  ButtonGadget(#Bt_exit,0,0,100,30,"Quitter")
  ; je ferme le container
  CloseGadgetList()
  ; je positionne les boutons
  positionButtons()
 
  ; mise en place des callbacks
  BindEvent(#PB_Event_CloseWindow,@exit(),#MainForm)
  BindEvent(#PB_Event_SizeWindow,@eventResize(),#MainForm)
EndProcedure

start()

Repeat : WaitWindowEvent() : ForEver


_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Dim 22/Juil/2018 14:27 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 17/Déc/2007 12:44
Messages: 1626
Bonjour,

Ce n'est pas grand chose mais ton calcul de par exemple "Protected x = (wc / 2) - (wi /2)", peut être facilement simplifier avec:

Code:
  Protected x = (wc - wi) / 2        ; le centre en X
  Protected y = (hc - hi) / 2        ; le centre en y

Bon je n'ai pas tout regarder, mais c'est surtout cela que j'ai vu en premier.

Cordialement,
GallyHC

_________________
Image

Image

Image Official site of PureBasic
Image Official site of SpiderBasic

Configuration : Tower: Windows 7 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.62 (x86 et x64)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Lun 23/Juil/2018 10:28 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1631
Localisation: Belgique
oui +1 GallyHC

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Lun 23/Juil/2018 12:59 
Hors ligne

Inscription: Mar 03/Juil/2018 9:30
Messages: 72
Bonjour tout le monde,

Merci Microdev mais je n'arrive à adapter mon code avec le tiens, il y a comme une incompatibilité quelque part avec les valeurs de dimensions que tu m'avais fait la dernière fois et celles-ci, et c'est assez complexe pour moi alors je ne sais pas l'adapter...

Je vais donc donner monde code brut qui marche très bien, et si quelqu'un peut me faire la fusion des deux codes je le remercie d'avance :)


Code:
EnableExplicit

Enumeration
 
  #Texte
  #Fenetre_A_Propos
  #A_Propos
  #Bouton_Ferme_A_Propos
  #Texte_A_Propos1
  #Texte_A_Propos2
  #Texte_A_Propos3
 
  #Menu
  #Quitter
  #Regles
 
  #Pikachu_Sound
  #Evoli_Sound
  #Rocabot_Sound
 
  #Pikachu
  #Evoli
  #Rocabot
 
 
EndEnumeration

InitSound()           
UseOGGSoundDecoder() 


Global.l event
Global Formwith = 800


Declare Checkpoint()
Declare Quitter()
Declare Regles()


;===============================================================================================


Procedure Selection()
 
      LoadSound(#Pikachu_sound, "Pikachu.ogg")
      LoadSound(#Evoli_sound, "Evoli.ogg")
      LoadSound(#Rocabot_sound, "Rocabot.ogg")
     
  Select EventGadget()
 
    Case #Pikachu
     
PlaySound(#Pikachu_sound)
     IncludeFile  "Pika.pbi"
     
    Case #Evoli
      PlaySound(#Evoli_sound)
     
    Case #Rocabot
    PlaySound(#Rocabot_sound)
  EndSelect
 
  EndProcedure
   

;===============================================================================================
 
 
Procedure Resize()
     
      Protected wf = WindowWidth(0,1),wh = WindowHeight(0,1),bw = GadgetWidth(0,1),bh = GadgetHeight(0,1)
     
   
      ResizeGadget(#Texte,(wf /2) - (bw /0.8),(wh /6.5) - (bh /2),#PB_Ignore,#PB_Ignore)     
     
      ResizeGadget(#Pikachu,(wf /5) - (bw /1),(wh /3.5) - (bh /2),#PB_Ignore,#PB_Ignore) 
      ResizeGadget(#Evoli,(wf /2) - (bw /1),(wh /3.5) - (bh /2),#PB_Ignore,#PB_Ignore) 
      ResizeGadget(#Rocabot,(wf /1.4) - (bw /10),(wh /3.5) - (bh /2),#PB_Ignore,#PB_Ignore) 
   
      EndProcedure 
   

;===============================================================================================
     
     
Procedure A_Propos()
  Protected iColor.i
 
  If OpenWindow(#Fenetre_A_Propos,153,40,260,115, "A Propos", #PB_Window_TitleBar|#PB_Window_BorderLess,WindowID(0))
    ; -> Normalement mettre le gadget de la fenêtre, exemple => WindowID(#Fenetre)
   
    SetWindowColor(#Fenetre_A_propos, RGB(150,150,150)) ; ---> Change la couleur de la fenêtre
   
    TextGadget(#Texte_A_Propos1,10, 10, 240, 20,"Pokémon, V.1",#PB_Text_Center) ; -> #PB_Text_Center -> Centre le texte dans la fenêtre   
    TextGadget(#Texte_A_Propos2,10, 30, 240, 20,"Jeu de stratégie",#PB_Text_Center)
    TextGadget(#Texte_A_Propos3,10, 50, 240, 20,"By Salomé DURTH - 2018",#PB_Text_Center)   
       
    ButtonGadget(#Bouton_Ferme_A_Propos,110,80,40,20,"Ok")
   
    For iColor = #Texte_A_Propos1 To #Texte_A_Propos3
      SetGadgetColor(iColor,#PB_Gadget_BackColor, RGB(150,150,150))       
      SetGadgetColor(iColor,#PB_Gadget_FrontColor,RGB(255, 255, 255))
    Next     
               
  EndIf       
        EndProcedure
         

;===============================================================================================
     
     
Procedure Fenetre()
         
         
 
  MessageRequester("Bienvenue","Amuse toi bien avec tes Pokémon !")
     
      If OpenWindow(0,0,0,formWith,600,"Pokémon V.1",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget)
       
       
        LoadImage(#Pikachu, "Pikachu.BMP")
        LoadImage(#Evoli, "Evoli.BMP")
        LoadImage(#Rocabot, "Rocabot.BMP")
       

               
        ButtonImageGadget(#pikachu, 0, 0, 210, 280, ImageID(#pikachu))
        ButtonImageGadget(#Evoli, 0, 0, 210, 280, ImageID(#Evoli))
        ButtonImageGadget(#Rocabot, 0, 0, 210, 280, ImageID(#Rocabot))
       
        TextGadget(#Texte,10,10,240,30,"Salut ! Choisi ton Pokemon",#PB_Text_Center)
       
       
      CreateMenu(#Menu, WindowID(0))
      MenuTitle("Fichier")     
      MenuItem(#quitter, "Quitter")   
   
      MenuTitle("Aide")     
      MenuItem(#Regles, "Règles ")
      MenuItem(#A_Propos, "A propos")
       
        Resize()
      EndIf
           

        BindEvent(#PB_Event_SizeWindow,@Resize(),0)
        BindEvent(#PB_Event_Gadget,@Selection())
        BindMenuEvent(#Menu,#quitter, @quitter())
        BindMenuEvent(#Menu,#A_Propos, @A_Propos())
        BindMenuEvent(#Menu,#Regles, @Regles())
    EndProcedure
    fenetre()
   

;===============================================================================================
   
   
Procedure quitter()
       End
      EndProcedure
   
   
;===============================================================================================
     
Procedure Regles()
        MessageRequester("Règles"," Jeu de stratégie. Choisis ton Pokémon et remporte les combats. ")
        EndProcedure
       
     
;===============================================================================================
   
   
  Repeat
 
Event = WaitWindowEvent()
Select Event 
   
; Evenements des gadgets 
Case #PB_Event_Gadget
   
Select EventGadget()           

   Case #Bouton_Ferme_A_Propos : CloseWindow(#Fenetre_A_propos)
     
EndSelect
EndSelect

Until Event = #PB_Event_CloseWindow 
End
   


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Lun 23/Juil/2018 16:00 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 17/Déc/2007 12:44
Messages: 1626
Bonjour,

Déjà à quoi te sert les divisions par "1" (10/1 fera toujours 10 ^^)? Dans ton code, tu prend pour référence la taille que d'un seul Gadget "GadgetWidth (0)" et "GadgetHeight (0)", donc tu as forcement touts les gadgets de la même taille? (ce n'est pas le cas).

Voila un exemple avec juste un déplacement "x" des gadgets :

Code:
Procedure Resize()

  Protected.l wf = WindowWidth  (0)
  Protected.l wh = WindowHeight (0)
  ;Protected.l bw = GadgetWidth  (0)
  Protected.l bh = GadgetHeight (0)

  ResizeGadget(#Texte,(wf - GadgetWidth(#Texte)) / 2, (wh /6.5) - (bh /2), #PB_Ignore,#PB_Ignore)

  ResizeGadget(#Pikachu, (wf / 6) - (GadgetWidth(#Pikachu) / 2),        (wh /3.5) - (bh /2), #PB_Ignore, #PB_Ignore)
  ResizeGadget(#Evoli,   (wf - GadgetWidth(#Evoli)) / 2,                (wh /3.5) - (bh /2), #PB_Ignore, #PB_Ignore)
  ResizeGadget(#Rocabot, (wf - (wf / 6)) - (GadgetWidth(#Rocabot) / 2), (wh /3.5) - (bh /2), #PB_Ignore, #PB_Ignore)

EndProcedure

Une autre méthode et le redimensionnement de la largueur des gadgets eux même avec le centrage, ce qui donnerai :

Code:
Procedure Resize()

  Protected.l wf = WindowWidth  (0)
  Protected.l wh = WindowHeight (0)
  ;Protected.l bw = GadgetWidth  (0)
  Protected.l bh = GadgetHeight (0)
 
  ResizeGadget(#Texte,(wf - GadgetWidth(#Texte)) / 2, (wh /6.5) - (bh /2), #PB_Ignore,#PB_Ignore)

  ResizeGadget(#Pikachu, (wf / 6) - (wf / 6),         (wh /3.5) - (bh /2), wf / 3, #PB_Ignore)
  ResizeGadget(#Evoli,   (wf / 2) - (wf / 6),         (wh /3.5) - (bh /2), wf / 3, #PB_Ignore)
  ResizeGadget(#Rocabot, (wf - (wf / 6)) - (wf / 6),  (wh /3.5) - (bh /2), wf / 3, #PB_Ignore)

EndProcedure

je vais un peu expliquer une chose. Dans le resize de "#Pikachu" par exemple, tu as "(wf / 6) - (wf / 6)" et donc pourquoi le "- (wf / 6)"? cela est simple la taille que je fixe au gadget est de "wf / 3", donc si je veux le centre, il me faut ça propre moitié, ce qui donne "((wf / 3) / 2)". donc en simplification du calcul "/ 3" et "/2", je peux devisé par "6".

Ou cas ou voila un exemple:

Code:
wf = 875

Debug ((wf / 3) / 2)
Debug (wf / 6)

Cordialement,
GallyHC

_________________
Image

Image

Image Official site of PureBasic
Image Official site of SpiderBasic

Configuration : Tower: Windows 7 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.62 (x86 et x64)


Dernière édition par GallyHC le Lun 23/Juil/2018 16:56, édité 3 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Lun 23/Juil/2018 16:22 
Hors ligne

Inscription: Mar 03/Juil/2018 9:30
Messages: 72
Merci GallyHC pour les modifications et explications, je comprends mieux maintenant.

Je viens de les appliquer (effectivement, j'ai pas fait gaffe que c'était des divisions probablement... :lol:


J'avoue ne pas avoir tout compris dans le code.

Sinon tu pourrais m'expliquer comment fusionner le reste du code ?

Merci à toi et passe une bonne journée :)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Lun 23/Juil/2018 17:29 
Hors ligne

Inscription: Jeu 07/Juin/2007 22:54
Messages: 261
Code:
EnableExplicit
Global Window,ImageGadget,Start,Exit,Image
Declare close()
Declare Resize()

Window = OpenWindow(#PB_Any,0,0,800,600,"blaaaaa",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget)
If Window
  Image = LoadImage(#PB_Any,"Examples/Sources/data/Background.bmp")
  If Image
    ImageGadget = ImageGadget(#PB_Any,(WindowWidth(Window)-ImageWidth(Image))/2,(WindowHeight(Window)-ImageHeight(Image))/2,ImageWidth(Image),ImageHeight(Image),ImageID(Image))
    Start = ButtonGadget(#PB_Any,(WindowWidth(Window)-40)/2,(WindowHeight(Window)-20)/2-20,40,20,"Start")
    Exit = ButtonGadget(#PB_Any,(WindowWidth(Window)-40)/2,(WindowHeight(Window)-20)/2+20,40,20,"exit")
  EndIf
  SetWindowColor(Window,$666666)
  BindEvent(#PB_Event_CloseWindow,@close())
  BindEvent(#PB_Event_SizeWindow,@Resize())
  BindGadgetEvent(Exit,@close())
EndIf

Repeat : WaitWindowEvent() : ForEver

Procedure Resize()
  ResizeGadget(ImageGadget,(WindowWidth(Window)-ImageWidth(Image))/2,(WindowHeight(Window)-ImageHeight(Image))/2,ImageWidth(Image),ImageHeight(Image))
  ResizeGadget(Start,(WindowWidth(Window)-40)/2,(WindowHeight(Window)-20)/2-20,40,20)
  ResizeGadget(Exit,(WindowWidth(Window)-40)/2,(WindowHeight(Window)-20)/2+20,40,20)
EndProcedure

Procedure close()
  End
EndProcedure


???


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Lun 23/Juil/2018 20:33 
Hors ligne

Inscription: Mar 03/Juil/2018 9:30
Messages: 72
Merci Boby, tu peux me montrer avec le code entier s'il te plaît ? Ce serait super gentil de ta part :oops:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Mar 24/Juil/2018 11:24 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 17/Déc/2007 12:44
Messages: 1626
Bonjour,

Code:
EnableExplicit

Enumeration WINDOW 0 Step 1
  #Fenetre_Main
  #Fenetre_A_Propos
EndEnumeration
Enumeration MENU 0 Step 1
  #Menu
  #Quitter
  #Regles
  #A_Propos
EndEnumeration
Enumeration GADGET 0 Step 1
  #Texte
  #Pikachu
  #Evoli
  #Rocabot
 
  #Bouton_Ferme_A_Propos
  #Texte_A_Propos1
  #Texte_A_Propos2
  #Texte_A_Propos3
EndEnumeration
Enumeration SOUND 0 Step 1
  #Pikachu_Sound
  #Evoli_Sound
  #Rocabot_Sound
EndEnumeration

InitSound()           
UseOGGSoundDecoder() 

Global.l event
Global Formwith = 800

Declare Checkpoint()
Declare Quitter()
Declare Regles()

;===============================================================================================

Procedure Selection()
  ;
  ;
  ;
;   LoadSound(#Pikachu_sound, "Pikachu.ogg")
;   LoadSound(#Evoli_sound, "Evoli.ogg")
;   LoadSound(#Rocabot_sound, "Rocabot.ogg")
 
  Select EventGadget() 
    Case #Pikachu
;       PlaySound(#Pikachu_sound)
;       IncludeFile  "Pika.pbi"
    Case #Evoli
;       PlaySound(#Evoli_sound)
    Case #Rocabot
;       PlaySound(#Rocabot_sound)
  EndSelect
 
EndProcedure

;===============================================================================================
 
Procedure Resize()
  ;
  ;
  ;
  Protected.l wf = WindowWidth  (0)
  Protected.l wh = WindowHeight (0)
  ;Protected.l bw = GadgetWidth  (0)
  Protected.l bh = GadgetHeight (0)
 
  ResizeGadget(#Texte,(wf - GadgetWidth(#Texte)) / 2, (wh /6.5) - (bh /2), #PB_Ignore,#PB_Ignore)

  ResizeGadget(#Pikachu, (wf / 6) - (wf / 6),         (wh /3.5) - (bh /2), wf / 3, #PB_Ignore)
  ResizeGadget(#Evoli,   (wf / 2) - (wf / 6),         (wh /3.5) - (bh /2), wf / 3, #PB_Ignore)
  ResizeGadget(#Rocabot, (wf - (wf / 6)) - (wf / 6),  (wh /3.5) - (bh /2), wf / 3, #PB_Ignore)

EndProcedure 

;===============================================================================================
     
Procedure A_Propos()
  ;
  ;
  ;
  Protected iColor.l

  If OpenWindow(#Fenetre_A_Propos,153,40,260,115, "A Propos", #PB_Window_TitleBar|#PB_Window_BorderLess,WindowID(0))
    ; -> Normalement mettre le gadget de la fenêtre, exemple => WindowID(#Fenetre)

    SetWindowColor(#Fenetre_A_propos, RGB(150,150,150)) ; ---> Change la couleur de la fenêtre

    TextGadget(#Texte_A_Propos1,10, 10, 240, 20,"Pokémon, V.1",#PB_Text_Center) ; -> #PB_Text_Center -> Centre le texte dans la fenêtre
    TextGadget(#Texte_A_Propos2,10, 30, 240, 20,"Jeu de stratégie",#PB_Text_Center)
    TextGadget(#Texte_A_Propos3,10, 50, 240, 20,"By Salomé DURTH - 2018",#PB_Text_Center)

    ButtonGadget(#Bouton_Ferme_A_Propos,110,80,40,20,"Ok")
   
    For iColor = #Texte_A_Propos1 To #Texte_A_Propos3
      SetGadgetColor(iColor,#PB_Gadget_BackColor, RGB(150,150,150))
      SetGadgetColor(iColor,#PB_Gadget_FrontColor,RGB(255, 255, 255))
    Next
  EndIf

EndProcedure

;===============================================================================================

Procedure Fenetre()
  ;
  ;
  ;
  MessageRequester("Bienvenue","Amuse toi bien avec tes Pokémon !")
 
  If OpenWindow(#Fenetre_Main,0,0,formWith,600,"Pokémon V.1",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget)
;     LoadImage(#Pikachu, "Pikachu.BMP")
;     LoadImage(#Evoli, "Evoli.BMP")
;     LoadImage(#Rocabot, "Rocabot.BMP")
           
    ButtonImageGadget(#pikachu, 0, 0, 210, 280, 0) ; ImageID(#pikachu))
    ButtonImageGadget(#Evoli,   0, 0, 210, 280, 0) ; ImageID(#Evoli))
    ButtonImageGadget(#Rocabot, 0, 0, 210, 280, 0) ; ImageID(#Rocabot))
   
    TextGadget(#Texte,10,10,240,30,"Salut ! Choisi ton Pokemon",#PB_Text_Center)
   
    CreateMenu(#Menu, WindowID(#Fenetre_Main))
    MenuTitle("Fichier")     
    MenuItem(#quitter, "Quitter")   
   
    MenuTitle("Aide")     
    MenuItem(#Regles, "Règles ")
    MenuItem(#A_Propos, "A propos")
   
    Resize()
  EndIf
 
  BindEvent     (#PB_Event_SizeWindow,@Resize(),0)
  BindEvent     (#PB_Event_Gadget,@Selection())
  BindMenuEvent (#Menu,#quitter, @quitter())
  BindMenuEvent (#Menu,#A_Propos, @A_Propos())
  BindMenuEvent (#Menu,#Regles, @Regles())

EndProcedure

;===============================================================================================

Procedure quitter()
  ;
  ;
  ;
  PostEvent(#PB_Event_CloseWindow, #Fenetre_Main, #Menu)
 
EndProcedure
     
;===============================================================================================
     
Procedure Regles()
  ;
  ;
  ;
  MessageRequester("Règles"," Jeu de stratégie. Choisis ton Pokémon et remporte les combats. ")
 
EndProcedure
     
;===============================================================================================

fenetre()
   
Repeat
  Event = WaitWindowEvent()
 
  Select Event 
    Case #PB_Event_Gadget
      Select EventGadget()           
        Case #Bouton_Ferme_A_Propos
          CloseWindow(#Fenetre_A_propos)
      EndSelect
  EndSelect

Until Event = #PB_Event_CloseWindow 

End

Cordialement,
GallyHC

_________________
Image

Image

Image Official site of PureBasic
Image Official site of SpiderBasic

Configuration : Tower: Windows 7 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.62 (x86 et x64)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Mar 24/Juil/2018 15:35 
Hors ligne

Inscription: Jeu 07/Juin/2007 22:54
Messages: 261
Citation:
Merci Boby, tu peux me montrer avec le code entier s'il te plaît ?


C'est complet, c'est juste une façon plus courte du code de microdevweb, je n'ai pas compris l'utilisation du canevas dans son code.
Je ne vais pas adapter tes codes à ce que tu veux en faire, ça ne t'aidera en rien... Essaie plus de comprendre les exemples qu'on te donne et de t'en servir pour en faire ce que tu cherche à faire, tu progressera plus vite en fouillant un minimum par toi même.

Enfin... Je crois... donc pour ma part je ne te donnerai rien d'autres que des exemples de ce que tu demande et non des codes complets.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Mar 24/Juil/2018 18:16 
Hors ligne

Inscription: Mar 03/Juil/2018 9:30
Messages: 72
Merci beaucoup GallyHC,

Ton code fonctionne à un détail près : Bien que j'ai réactivé les fonctions de chargement et d'affichage des imagebuttongadgets, les images ne s'affichent pas (mais les sons fonctionnent cela dit lorsque l'on clique)

Quant au fond d'écran du programme, c'est peut-être moi, mais je ne le vois pas dans le code ?? :lol:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Mar 24/Juil/2018 19:02 
Hors ligne

Inscription: Jeu 07/Juin/2007 22:54
Messages: 261
Code:
;     LoadImage(#Pikachu, "Pikachu.BMP")
;     LoadImage(#Evoli, "Evoli.BMP")
;     LoadImage(#Rocabot, "Rocabot.BMP")


Probablement par-ce que les loadimage sont commanté ?
...Copier coller un code ne t'aidera pas à progresser...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Mar 24/Juil/2018 19:21 
Hors ligne

Inscription: Mar 03/Juil/2018 9:30
Messages: 72
Boby,

Citation:
Bien que j'ai réactivé les fonctions de chargement et d'affichage des imagebuttongadgets



J'entendais par là bien évidemment le fait que j'avais retiré les points virgules afin de basculer du mode commentaire au mode codes.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Mar 24/Juil/2018 20:28 
Hors ligne

Inscription: Jeu 07/Juin/2007 22:54
Messages: 261
Code:
    ButtonImageGadget(#pikachu, 0, 0, 210, 280, 0) ; ImageID(#pikachu))
    ButtonImageGadget(#Evoli,   0, 0, 210, 280, 0) ; ImageID(#Evoli))
    ButtonImageGadget(#Rocabot, 0, 0, 210, 280, 0) ; ImageID(#Rocabot))

Et tu as pensée à remplacer ce code par
Code:
ButtonImageGadget(#pikachu, 0, 0, 210, 280, ImageID(#pikachu)))
ButtonImageGadget(#Evoli,   0, 0, 210, 280, ImageID(#Evoli)))
ButtonImageGadget(#Rocabot, 0, 0, 210, 280, ImageID(#Rocabot))
??


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Image de fond et centrage de gadget
MessagePosté: Mar 24/Juil/2018 22:41 
Hors ligne

Inscription: Mar 03/Juil/2018 9:30
Messages: 72
Oui j'y ai pensé, mais je ne l'ai pas fait car je pensais que c'était des commentaires pour le coup... :lol:

Et de toute façon je n'aurais pas su adapter en retirant le 0 de la parenthèse.


Voilà maintenant ça marche merci :)

Par contre concernant le fond du programme il n'y a aucun code ? Je vais tenter de le mettre, je reviens donner des nouvelles si j'y arrive ou pas.


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 21 messages ]  Aller à la page 1, 2  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye