création d'un editeur de boite de dialogue

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: création d'un editeur de boite de dialogue

Message par Backup »

Patrick88 a écrit : tu télécharges la version 3.94, tu l'executes, t'essaye de comprendre le fonctionnement du programme et voilou....
et voilou... rien du tout ;)

parceque le fichier

Code : Tout sélectionner

IncludeFile "ObjectViewer.pb"
ben si on l'a pas .... on l'a pas :roll: :lol:
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: création d'un editeur de boite de dialogue

Message par falsam »

dayvid a écrit :Au faite falsam, c'est bien ce que tu ma fait là merci :wink:

Cependent en faite ce n'est pas ce que je cherche a faire
oui car je cherche en faite a personnaliser entierement mon bouton tu comprends :)
Dayvid tu dois surement connaitre la campagne anti tabac dont le slogan est Fumer Tue.
Ce que tu ne sais pas c'est que Comprendre Tue aussi.

Si un contemplatif se jette à l'eau, il n'essaiera pas de nager, il essaiera d'abord de comprendre l'eau. Et il se noiera.

Revenons à ta demande. Personnaliser ton bouton ? Je crois que je l'avais compris. J'ai modifié mon code en ce sens en espérant que j'ai vraiment compris ce que tu veux.

Code : Tout sélectionner

;ButtonColorGadget V1.01 
;
;Description de chacun des paramétres
;---------------------------------
;   Gadget      Identifiant du gadget concerné
;   x                Coordonné gauche sur la fenetre
;   y                Coordonné haut sur la fenetre
;   Width        Largeur du bouton
;   Height       Hauteur du bouton
;   Caption    Text du bouton
;   fColor,      Front Color (Couleur du texte)
;   bColor      Back Color (Couleur du bouton)
;   sBorder     Epaisseur de la bordure
;   cBorder     Couleur de la bordure
;   Option      Null par defaut ou #PB_Button_Toggle (Voir l'aide sur  ButtonImageGadget)
;   FontId       #PB_Font_Default par defaut, Police de caractére pour ce bouton
Procedure ButtonColorGadget(Gadget, x, y ,Width, Height ,Caption$, fColor, bColor, sBorder, cBorder ,Option=0, FontID=#PB_Font_Default)
  Protected Img.i 
  
  Img=CreateImage(#PB_Any, Width, Height)
  If StartDrawing(ImageOutput(Img))
    DrawingMode(#PB_2DDrawing_Transparent)
    Box(0, 0 ,Width, Height, cBorder)
    DrawingFont(FontId) 
    Box(0+sBorder, 0+sBorder ,Width-(sBorder*2), Height-(sBorder*2), bColor)
    DrawText((Width/2 - TextWidth(Caption$)/2), (Height/2-TextHeight(Caption$)/2),Caption$,fColor,bColor)
    StopDrawing() 
    ButtonImageGadget(Gadget, x, y, Width, height , ImageID(Img), Option)
  EndIf
EndProcedure


; Test
OpenWindow(0,100,100,400,200,"Boutons Colorés - Quelques exemples",#PB_Window_SystemMenu)

ButtonColorGadget(#PB_Any,10,10,150,40,"Police par defaut",$9F9F9F, $B2FBE5, 7,$3C9158, #PB_Button_Toggle)
ButtonColorGadget(#PB_Any,10,60,150,30,"Arial Italic",$DDDDDD, $494949,5,$E9EB16, 0, LoadFont(0,"Arial",11, #PB_Font_Italic))
ButtonColorGadget(#PB_Any,10,100,150,50,"En Rouge et Noir",$0D2CF2, $000108, 8, $B6B6B6,0,LoadFont(0,"Lucida Sans",11))

Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: création d'un editeur de boite de dialogue

Message par Patrick88 »

Dobro a écrit :
Patrick88 a écrit : tu télécharges la version 3.94, tu l'executes, t'essaye de comprendre le fonctionnement du programme et voilou....
et voilou... rien du tout ;)

parceque le fichier

Code : Tout sélectionner

IncludeFile "ObjectViewer.pb"
ben si on l'a pas .... on l'a pas :roll: :lol:
toi non plus tu ne lis pas les post en entier, Dobro. Falsam a donné le lien qui pointe vers le post original avec les DEUX fichiers !

pat
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: création d'un editeur de boite de dialogue

Message par Backup »

Patrick88 a écrit :
Dobro a écrit :
Patrick88 a écrit : tu télécharges la version 3.94, tu l'executes, t'essaye de comprendre le fonctionnement du programme et voilou....
et voilou... rien du tout ;)

parceque le fichier

Code : Tout sélectionner

IncludeFile "ObjectViewer.pb"
ben si on l'a pas .... on l'a pas :roll: :lol:
toi non plus tu ne lis pas les post en entier, Dobro. Falsam a donné le lien qui pointe vers le post original avec les DEUX fichiers !

pat
ha? ... pardon alors :)
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: création d'un editeur de boite de dialogue

Message par dayvid »

Ba si c'est sa ton aide, tu sais ce que tu peut en faire :roll:
en plus je m'appel pas machin et deux il manque un fichier

Alors tartanpion il va ce calmer et respirer un bon cout OK :twisted:
J'suis pas ton chien alors tu m'appel pas machin c'est clair :x

Sa va une fois mais pas deux :twisted:

noin mais il se prend pour qui lui hein :roll:

Je te remerci beaucoup pour ton code mais ne m'appel pas machin oki :wink:
et oui tu as reson que je vais sur mon compte et etc.

mais si il me manque un fichier je fait comment moi hein
car sa ne marchera pas de toute façon :wink:

Ce fichier existe t-il, et ou puis-je trouver
en fesant une recherche sur le fofo :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: création d'un editeur de boite de dialogue

Message par dayvid »

Bon bin LOL

j'ai rien dit ou presque :mrgreen:

Ne m'appel pas machin, pour le reste excuse-moi :)

@Fasam merci mon ami mais (te fâche po)
c'est pas sa encore :lol:

Lol, c'est pas grave, j'ai continuer mon code
et c'êtte fois-ci tu peut personnaliser ton bouton grace a des variable
pas façile, yen as t-ellement :mrgreen:

Grand merci a toi Falsam pour t'es code, ça servira toujours tu sais :)
moi je vais le garder precieusement dans ma banque d'éxemple :P

En faite je parlais de personnaliser a 100 % le bouton
mais je r'aporterais ce que j'ai fait la semaine prochaine et tu comprendra
je l'éspère que je voulais un truc un peut plus pointu !

je sais pas si ce que j'ai fait est bien mais ça fonctionne quel miracle :mrgreen:
et en plus j'ai fait ça tous seulle comme un grand garçon :mrgreen:
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: création d'un editeur de boite de dialogue

Message par falsam »

dayvid a écrit :je sais pas si ce que j'ai fait est bien mais ça fonctionne quel miracle :mrgreen:
et en plus j'ai fait ça tous seulle comme un grand garçon :mrgreen:
Pour une nouvelle ..... C'est une bonne nouvelle :)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: création d'un editeur de boite de dialogue

Message par dayvid »

Ah oui mais il restera du boulôt
en plus la ya qu'un bouton mais si yen as 50 ou même 100
le nombre de ligne de code qu'il va faloir :|

falsam, peut tu regarder l'exemple que j'ai mis precedement
et le feuilleté si tu y arrive

comme sa tu pourra voir ce que j'ai voulut faire :)

bon mais apres va y avoir un soucis de taille
car si faut 50 000 ligne de code pour gérer 3 bouton
sa va vite devenir un enfer (j'éxagère juste un peut :mrgreen:)

en plus j'ai pas encore fait les boutons toogle :?
c'est un véritable casse tête de gérer ça

Bon déja avec ce que j'ai crée tu peut déjà pas mal téclaté :D
j'ai passer un bon bout de temps a faire ce code la et j'y suis arrivé :)

Je sais ce que vous vous dite :mrgreen:

"Magnifique :roll:" :lol:
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: création d'un editeur de boite de dialogue

Message par falsam »

dayvid a écrit :falsam, peut tu regarder l'exemple que j'ai mis precedement
et le feuilleté si tu y arrive

bon mais apres va y avoir un soucis de taille
car si faut 50 000 ligne de code pour gérer 3 bouton
sa va vite devenir un enfer (j'éxagère juste un peut :mrgreen:)

tu peut déjà pas mal téclaté :D
50 000 ligne de code pour 3 boutons ? J'ai d'autres moyens de m'éclater. !!!

Dayvid tu es dingue :p
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: création d'un editeur de boite de dialogue

Message par Ar-S »

dayvid a écrit :En faite je parlais de personnaliser a 100 % le bouton
ça veut dire quoi ça ?
Falsam t'a filé un code ou tu te retrouves avec un bouton "dessiné", que veux tu de plus ?
Et si tu as besoin de créer 1547 boutons, 3 lignes suffisent.
For -> TonBouton -> NEXT
Dernière modification par Ar-S le sam. 26/févr./2011 19:24, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: création d'un editeur de boite de dialogue

Message par Parole De JOJO »

Si j'ai bien compris il veut un truc que quand l'utilisateur clique sur le boutton il puisse le deplacer

j'ai essaye mais je me suis embrouille donc j'ai laisse tomber
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Re: création d'un editeur de boite de dialogue

Message par SPH »

falsam a écrit :Comme promis plus haut
fcolor : FrontColor (Couleur du texte)
bColor : BackColor (Couleur de fond)
Option : #PB_Button_Toggle Crée un bouton de type 'Toogle'
FontId : La police de caractère de ton texte

Code : Tout sélectionner

Procedure ButtonColorGadget(Gadget, x, y ,Width, Height ,Text$,fColor,bColor,Option=0, FontID=#PB_Font_Default)
  Protected Img.i
  Img=CreateImage(#PB_Any, Width, Height)
  If StartDrawing(ImageOutput(Img))
    DrawingFont(FontId) 
    Box(0, 0 ,Width, Height, bColor)
    DrawText(Width/2 - TextWidth(Text$)/2, Height/2-TextHeight(Text$)/2,Text$,fColor,bColor)
    StopDrawing() 
    ButtonImageGadget(Gadget, x, y, Width, height , ImageID(Img), Option)
  EndIf
EndProcedure

OpenWindow(0,100,100,400,200,"Boutons Colorés - Quelques exemples",#PB_Window_SystemMenu)

ButtonColorGadget(#PB_Any,10,10,150,30,"Police par defaut",$9F9F9F, $B2FBE5,#PB_Button_Toggle)
ButtonColorGadget(#PB_Any,10,50,150,30,"Arial Italic",$DDDDDD, $494949,0,LoadFont(0,"Arial",12, #PB_Font_Italic))
ButtonColorGadget(#PB_Any,10,90,150,30,"En Rouge et Noir",$0611F9, $000000)

Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
Je suis impressionné par ton code. Je ne savais pas qu'on pouvais passer LoadFont(0,"Arial",12, #PB_Font_Italic) en parametre !!
La dayvid, tu ne peux pas dire qu'on ne peux pas dessiner a 100% un bouton !!

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: création d'un editeur de boite de dialogue

Message par falsam »

On peut aussi donner un effet radient au texte :)

Code : Tout sélectionner

Procedure ButtonColorgadget(Gadget, x, y ,Width, Height ,Text$,fColor,bColor,Option=0, GradientColor=#False, FontID=#PB_Font_Default)
  Protected Img.i
  
  Img=CreateImage(#PB_Any, Width, Height)
  If StartDrawing(ImageOutput(Img))
    DrawingFont(FontId) 
    If GradientColor=#True
      Box(0, 0 ,Width, Height, bColor)
      DrawingMode(#PB_2DDrawing_Gradient|#PB_2DDrawing_Transparent)
      FrontColor(bColor)
      BackColor(fColor)
      BoxedGradient(0, 0, Width, Height)  
      DrawText(Width/2 - TextWidth(Text$)/2, Height/2-TextHeight(Text$)/2,Text$)
    Else
      Box(0, 0 ,Width, Height, bColor)
      DrawText(Width/2 - TextWidth(Text$)/2, Height/2-TextHeight(Text$)/2,Text$,fColor,bColor)
    EndIf
    
    StopDrawing() 
    ButtonImageGadget(Gadget, x, y, Width, height , ImageID(Img), Option)
  EndIf
EndProcedure

OpenWindow(0,100,100,400,200,"Boutons Colorés - Quelques exemples",#PB_Window_SystemMenu)

ButtonColorGadget(#PB_Any,10,10,150,30,"Police par defaut",$9F9F9F, $B2FBE5,#PB_Button_Toggle)
ButtonColorGadget(#PB_Any,10,50,150,30,"Arial Italic",$DDDDDD, $494949,0,LoadFont(0,"Arial",12, #PB_Font_Italic))
ButtonColorGadget(#PB_Any,10,90,150,30,"En Rouge et Noir",$0611F9, $000000)

ButtonColorGadget(#PB_Any,10,130,150,30,"Texte Radient",$080BBB, $43B780,0,#True,LoadFont(0,"Arial",12, #PB_Font_Bold))
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: création d'un editeur de boite de dialogue

Message par dayvid »

Salut les amis !!!

Voilà comme promis je vous poste un code
pfffffu, dur a faire ce truc la :|

Code : Tout sélectionner

; Exemple réaliser par Monsieur dieppedalle david
; le 20 février 2011

; amélioration aporter le  27 février 2011:
; ajout la possibilité de mettre des image
; ajout la possibilité de placer les image et le texte ou on veut sur le bouton

; amélioration aporter le 28 février 2011:
; gestion du clique centre de la souris ajouté
; optimisation du code grace a des macros

; amélioration aporter le 1 mars 2011:
; les bord du bonton son automatiquement redessiner si un evenement de type #PB_Event_Repaint survient

Enumeration
  #Window_0
  #bouton_1
  #My_Labeled_Image_bouton_1
EndEnumeration

Global NewList Liste_gadget()

#FONT_NORMAL = %00000000
#FONT_BOLD = %00000001
#FONT_ITALIC = %00000010
#FONT_UNDERLINE = %00000100
#FONT_STRIKEOUT = %00001000

#Clic_gauche_souris = 513
#Clic_gauche_relacher_souris = 514
#Clic_double_gauche_souris = 515

#Clic_droit_souris = 516
#Clic_droit_relacher_souris = 517
#Clic_double_droit_souris = 518

#Clic_centre_souris = 519
#Clic_centre_relacher_souris = 520
#Clic_double_centre_souris = 521

#Molette_souris = 522

; English forum: http://www.purebasic.fr/english/viewtopic.php?t=7042&highlight=
; Author: GPI
; Date: 28. July 2003
; OS: Windows
; Demo: No

; Some note: Windows send a #wm_mousemove, wenn the mouse is moved over one of
; your windows. (You can get this message with WaitWindowEvent())

Procedure.l IsMouseOverGadget(Gadget) 
  GetWindowRect_(GadgetID(Gadget),GadgetRect.RECT) 
  GetCursorPos_(mouse.POINT) 
  If mouse\x>=GadgetRect\Left And mouse\x<=GadgetRect\right And mouse\y>=GadgetRect\Top And mouse\y<=GadgetRect\bottom 
    ProcedureReturn #True 
  Else 
    ProcedureReturn #False 
  EndIf 
EndProcedure 

; English forum: http://www.purebasic.fr/english/viewtopic.php?t=7603&highlight=
; Author: PB (updated for PB4.00 by blbltheworm)
; Date: 21. September 2003
; OS: Windows
; Demo: No

; Note: starting with PB v4 there is also a native command GadgetType() available
; Hinweis: seit PB v4 ist auch ein nativer Befehl GadgetType() verfügbar

Procedure.s GetGadgetType(gadget) 
  class$=Space(255) : GetClassName_(GadgetID(gadget),class$,255) 
  ProcedureReturn class$ 
EndProcedure 

; pas de moi
Procedure CreateFont(Name$,Size,Style)
  If (Style & #FONT_BOLD)
    bold = 700
  EndIf
  If (Style & #FONT_ITALIC)
    italic = 1
  EndIf
  If (Style & #FONT_UNDERLINE)
    underline = 1
  EndIf
  If (Style & #FONT_STRIKEOUT)
    strikeout = 1
  EndIf
  ProcedureReturn CreateFont_(Size,0,0,0,bold,italic,underline,strikeout,0,0,0,0,0,Name$)
EndProcedure

; pas de moi mais modifier par moi
Procedure.l MyLabeledImage(ImageNumber.l, Width.l, Height.l, Color.l, TColor.l, Label.s, Position_texte_X, Position_texte_Y, Font.s, Bold.l, Italic.l, underline.i, strikeout.i, FontSize.l, Position_texte_X_surplus.l, Position_texte_Y_surplus.l, ImageButton.i, Position_image_X, Position_image_Y, Position_image_X_surplus, Position_image_Y_surplus, Utiliser_image_sur_bouton = 0)
  Attributes = #FONT_NORMAL
  If Bold
    Attributes = Attributes + #FONT_BOLD
  EndIf
  If Italic
    Attributes = Attributes + #FONT_ITALIC
  EndIf
  If underline
    Attributes = Attributes + #FONT_UNDERLINE
  EndIf
  If strikeout
    Attributes = Attributes + #FONT_STRIKEOUT
  EndIf
  FontToUse = CreateFont(Font, FontSize, Attributes)
  
  ImageID.l = CreateImage(ImageNumber, Width, Height)
  StartDrawing(ImageOutput(ImageNumber))
  Box(0, 0, Width, Height, Color)
  FrontColor(RGB(Red(TColor),Green(TColor),Blue(TColor)))
  DrawingFont(FontToUse)
  DrawingMode(1)
  If TextWidth(Label) < Width
    XPos.l = (Width - TextWidth(Label)) / 2
  Else
    XPos.l = 4
  EndIf
  If TextWidth("M") < Height
    YPos.l = (Height - TextWidth("M")) / 2 - 2
  Else
    YPos.l = 0
  EndIf
  If Utiliser_image_sur_bouton = 1
    If ImageButton
      DrawingMode(#PB_2DDrawing_AlphaBlend)
      DrawImage(ImageID(ImageButton), Width / 2 - ImageWidth(ImageButton) / 2 + Position_image_X + Position_image_X_surplus, Height / 2 - ImageHeight(ImageButton) / 2 + Position_image_Y + Position_image_Y_surplus)
    EndIf  
  EndIf
  DrawingMode(1)
  DrawText(XPos + Position_texte_X + Position_texte_X_surplus, YPos + Position_texte_Y + Position_texte_Y_surplus, Label)
  StopDrawing()
  ProcedureReturn ImageID
EndProcedure

; epesseur de la bordure du bouton

Global epesseur_bordure_bouton_1 = 1

; position du bouton

Global x_bouton_1 = 100
Global y_bouton_1 = 25

; taille du bouton

Global l_bouton_1 = 375
Global h_bouton_1 = 250

Global tool_tip_bouton_1$ = "Un bouton fait maison"

Global etas_bouton_1$

UsePNGImageDecoder()
UseJPEG2000ImageDecoder()
UseJPEGImageDecoder()
UseTGAImageDecoder()
UseTIFFImageDecoder()

;{ Variables globales

Global bouton_1_activer = 1

; quand la souris n'est pas sur le bouton:

Global couleur_face_bouton_non_selectionner_bouton_1 = RGB(241, 241, 241)
Global couleur_bordure_haut_bouton_non_selectionner_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_gauche_bouton_non_selectionner_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_bas_bouton_non_selectionner_bouton_1 = RGB(160, 160, 160)
Global couleur_bordure_droite_bouton_non_selectionner_bouton_1 = RGB(160, 160, 160)
Global nom_police_bouton_non_selectionner_bouton_1$ = "Verdana"
Global style_police_gras_bouton_non_selectionner_bouton_1 = 0
Global style_police_italique_bouton_non_selectionner_bouton_1 = 0
Global style_police_soulignier_bouton_non_selectionner_bouton_1 = 0
Global style_police_barrer_bouton_non_selectionner_bouton_1 = 0
Global taille_police_bouton_non_selectionner_bouton_1 = 12
Global couleur_texte_bouton_non_selectionner_bouton_1 = RGB(0, 0, 0)
Global texte_bouton_non_selectionner_bouton_1$ = "La souris n'est pas ici"

Global Position_X_texte_bouton_non_selectionner_bouton_1 = 0
Global Position_Y_texte_bouton_non_selectionner_bouton_1 = 0
Global Surplus_position_X_texte_bouton_non_selectionner_bouton_1 = 80
Global Surplus_position_Y_texte_bouton_non_selectionner_bouton_1 = 0
Global Numero_Image_bouton_non_selectionner_bouton_1 = 99
DataSection
  Pointeur_numero_Image_bouton_non_selectionner_bouton_1:
  IncludeBinary "temple.png"
EndDataSection
CatchImage(Numero_Image_bouton_non_selectionner_bouton_1, ?Pointeur_numero_Image_bouton_non_selectionner_bouton_1)
Global Position_X_Numero_Image_bouton_non_selectionner_bouton_1 = -60
Global Position_Y_Numero_Image_bouton_non_selectionner_bouton_1 = 0
Global Surplus_position_X_Numero_Image_bouton_non_selectionner_bouton_1 = 0
Global Surplus_position_Y_Numero_Image_bouton_non_selectionner_bouton_1 = 0
Global Utiliser_image_sur_bouton_non_selectionner_bouton_1 = 1

; quand la souris est sur le bouton:

Global couleur_face_bouton_selectionner_bouton_1 = RGB(241, 241, 241)
Global couleur_bordure_haut_bouton_selectionner_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_gauche_bouton_selectionner_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_bas_bouton_selectionner_bouton_1 = RGB(160, 160, 160)
Global couleur_bordure_droite_bouton_selectionner_bouton_1 = RGB(160, 160, 160)
Global nom_police_bouton_selectionner_bouton_1$ = "Verdana"
Global style_police_gras_bouton_selectionner_bouton_1 = 0
Global style_police_italique_bouton_selectionner_bouton_1 = 0
Global style_police_soulignier_bouton_selectionner_bouton_1 = 0
Global style_police_barrer_bouton_selectionner_bouton_1 = 0
Global taille_police_bouton_selectionner_bouton_1 = 12
Global couleur_texte_bouton_selectionner_bouton_1 = RGB(0, 0, 0)
Global texte_bouton_selectionner_bouton_1$ = "La souris ici"

Global Position_X_texte_bouton_selectionner_bouton_1 = 0
Global Position_Y_texte_bouton_selectionner_bouton_1 = 0
Global Surplus_position_X_texte_bouton_selectionner_bouton_1 = 80
Global Surplus_position_Y_texte_bouton_selectionner_bouton_1 = 0
Global Numero_Image_bouton_selectionner_bouton_1 = 100
DataSection
  Pointeur_numero_Image_bouton_selectionner_bouton_1:
  IncludeBinary "sanctuaire.png"
EndDataSection
CatchImage(Numero_Image_bouton_selectionner_bouton_1, ?Pointeur_numero_Image_bouton_selectionner_bouton_1)
Global Position_X_Numero_Image_bouton_selectionner_bouton_1 = -60
Global Position_Y_Numero_Image_bouton_selectionner_bouton_1 = 0
Global Surplus_position_X_Numero_Image_bouton_selectionner_bouton_1 = 0
Global Surplus_position_Y_Numero_Image_bouton_selectionner_bouton_1 = 0
Global Utiliser_image_sur_bouton_selectionner_bouton_1 = 1

; quand le bouton gauche de la souris est appuilez sur le bouton:

Global couleur_face_bouton_appuiyer_bouton_1 = RGB(241, 241, 241)
Global couleur_bordure_haut_bouton_appuiyer_bouton_1 = RGB(160, 160, 160)
Global couleur_bordure_gauche_bouton_appuiyer_bouton_1 = RGB(160, 160, 160)
Global couleur_bordure_bas_bouton_appuiyer_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_droite_bouton_appuiyer_bouton_1 = RGB(255, 255, 255)
Global nom_police_bouton_appuiyer_bouton_1$ = "Verdana"
Global style_police_gras_bouton_appuiyer_bouton_1 = 0
Global style_police_italique_bouton_appuiyer_bouton_1 = 0
Global style_police_soulignier_bouton_appuiyer_bouton_1 = 0
Global style_police_barrer_bouton_appuiyer_bouton_1 = 0
Global taille_police_bouton_appuiyer_bouton_1 = 12
Global couleur_texte_bouton_appuiyer_bouton_1 = RGB(0, 0, 0)
Global texte_bouton_appuiyer_bouton_1$ = "La souris est ici + clique gauche"

Global Position_X_texte_bouton_appuiyer_bouton_1 = 1
Global Position_Y_texte_bouton_appuiyer_bouton_1 = 1
Global Surplus_position_X_texte_bouton_appuiyer_bouton_1 = 85
Global Surplus_position_Y_texte_bouton_appuiyer_bouton_1 = 0
Global Numero_Image_bouton_appuiyer_bouton_1 = 101
DataSection
  Pointeur_numero_Image_bouton_appuiyer_bouton_1:
  IncludeBinary "maison.png"
EndDataSection
CatchImage(Numero_Image_bouton_appuiyer_bouton_1, ?Pointeur_numero_Image_bouton_appuiyer_bouton_1)
Global Position_X_Numero_Image_bouton_appuiyer_bouton_1 = -60
Global Position_Y_Numero_Image_bouton_appuiyer_bouton_1 = 0
Global Surplus_position_X_Numero_Image_bouton_appuiyer_bouton_1 = 1
Global Surplus_position_Y_Numero_Image_bouton_appuiyer_bouton_1 = 1
Global Utiliser_image_sur_bouton_appuiyer_bouton_1 = 1

; quand le bouton droit de la souris est appuilez sur le bouton:

Global couleur_face_bouton_clique_droit_bouton_1 = RGB(241, 241, 241)
Global couleur_bordure_haut_bouton_clique_droit_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_gauche_bouton_clique_droit_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_bas_bouton_clique_droit_bouton_1 = RGB(160, 160, 160)
Global couleur_bordure_droite_bouton_clique_droit_bouton_1 = RGB(160, 160, 160)
Global nom_police_bouton_clique_droit_bouton_1$ = "verdana"
Global style_police_gras_bouton_clique_droit_bouton_1 = 0
Global style_police_italique_clique_droit_bouton_1 = 0
Global style_police_soulignier_clique_droit_bouton_1 = 0
Global style_police_barrer_bouton_clique_droit_bouton_1 = 0
Global taille_police_bouton_clique_droit_bouton_1 = 12
Global couleur_texte_bouton_clique_droit_bouton_1 = RGB(0, 0, 0)
Global texte_bouton_clique_droit_bouton_1$ = "Clique droit"

Global Position_X_texte_bouton_clique_droit_bouton_1 = 0
Global Position_Y_texte_bouton_clique_droit_bouton_1 = 0
Global Surplus_position_X_texte_bouton_clique_droit_bouton_1 = 25
Global Surplus_position_Y_texte_bouton_clique_droit_bouton_1 = 0
Global Numero_Image_bouton_clique_droit_bouton_1 = 102
DataSection
  Pointeur_numero_Image_bouton_clique_droit_bouton_1:
  IncludeBinary "tour.png"
EndDataSection
CatchImage(Numero_Image_bouton_clique_droit_bouton_1, ?Pointeur_numero_Image_bouton_clique_droit_bouton_1)
Global Position_X_Numero_Image_bouton_clique_droit_bouton_1 = -60
Global Position_Y_Numero_Image_bouton_clique_droit_bouton_1 = 0
Global Surplus_position_X_Numero_Image_bouton_clique_droit_bouton_1 = 0
Global Surplus_position_Y_Numero_Image_bouton_clique_droit_bouton_1 = 0
Global Utiliser_image_sur_bouton_clique_droit_bouton_1 = 1

; quand le bouton centre de la souris est appuilez sur le bouton:

Global couleur_face_bouton_clique_centre_bouton_1 = RGB(241, 241, 241)
Global couleur_bordure_haut_bouton_clique_centre_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_gauche_bouton_clique_centre_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_bas_bouton_clique_centre_bouton_1 = RGB(160, 160, 160)
Global couleur_bordure_droite_bouton_clique_centre_bouton_1 = RGB(160, 160, 160)
Global nom_police_bouton_clique_centre_bouton_1$ = "verdana"
Global style_police_gras_bouton_clique_centre_bouton_1 = 0
Global style_police_italique_clique_centre_bouton_1 = 0
Global style_police_soulignier_clique_centre_bouton_1 = 0
Global style_police_barrer_bouton_clique_centre_bouton_1 = 0
Global taille_police_bouton_clique_centre_bouton_1 = 12
Global couleur_texte_bouton_clique_centre_bouton_1 = RGB(0, 0, 0)
Global texte_bouton_clique_centre_bouton_1$ = "Clique centre"

Global Position_X_texte_bouton_clique_centre_bouton_1 = 0
Global Position_Y_texte_bouton_clique_centre_bouton_1 = 0
Global Surplus_position_X_texte_bouton_clique_centre_bouton_1 = 25
Global Surplus_position_Y_texte_bouton_clique_centre_bouton_1 = 0
Global Numero_Image_bouton_clique_centre_bouton_1 = 102
DataSection
  Pointeur_numero_Image_bouton_clique_centre_bouton_1:
  IncludeBinary "usine.png"
EndDataSection
CatchImage(Numero_Image_bouton_clique_centre_bouton_1, ?Pointeur_numero_Image_bouton_clique_centre_bouton_1)
Global Position_X_Numero_Image_bouton_clique_centre_bouton_1 = -60
Global Position_Y_Numero_Image_bouton_clique_centre_bouton_1 = 0
Global Surplus_position_X_Numero_Image_bouton_clique_centre_bouton_1 = 0
Global Surplus_position_Y_Numero_Image_bouton_clique_centre_bouton_1 = 0
Global Utiliser_image_sur_bouton_clique_centre_bouton_1 = 1

; quand le bouton gauche de la souris est appuilez sur la fenêtre et glisser sur le bouton:

Global couleur_face_bouton_clique_fenetre_bouton_1 = RGB(241, 241, 241)
Global couleur_bordure_haut_bouton_clique_fenetre_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_gauche_bouton_clique_fenetre_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_bas_bouton_clique_fenetre_bouton_1 = RGB(160, 160, 160)
Global couleur_bordure_droite_bouton_clique_fenetre_bouton_1 = RGB(160, 160, 160)
Global nom_police_bouton_clique_fenetre_bouton_1$ = "verdana"
Global style_police_gras_bouton_clique_fenetre_bouton_1 = 0
Global style_police_italique_clique_fenetre_bouton_1 = 0
Global style_police_soulignier_bouton_clique_fenetre_bouton_1 = 0
Global style_police_barrer_bouton_clique_fenetre_bouton_1 = 0
Global taille_police_bouton_clique_fenetre_bouton_1 = 12
Global couleur_texte_bouton_clique_fenetre_bouton_1 = RGB(0, 0, 0)
Global texte_bouton_clique_fenetre_bouton_1$ = "La souris est ici + clique fenêtre"

Global Position_X_texte_bouton_clique_fenetre_bouton_1 = 0
Global Position_Y_texte_bouton_clique_fenetre_bouton_1 = 0
Global Surplus_position_X_texte_bouton_clique_fenetre_bouton_1 = 100
Global Surplus_position_Y_texte_bouton_clique_fenetre_bouton_1 = 0
Global Numero_Image_bouton_clique_fenetre_bouton_1 = 103
DataSection
  Pointeur_numero_Image_bouton_clique_fenetre_bouton_1:
  IncludeBinary "usine.png"
EndDataSection
CatchImage(Numero_Image_bouton_clique_fenetre_bouton_1, ?Pointeur_numero_Image_bouton_clique_fenetre_bouton_1)
Global Position_X_Numero_Image_bouton_clique_fenetre_bouton_1 = -60
Global Position_Y_Numero_Image_bouton_clique_fenetre_bouton_1 = 0
Global Surplus_position_X_Numero_Image_bouton_clique_fenetre_bouton_1 = 0
Global Surplus_position_Y_Numero_Image_bouton_clique_fenetre_bouton_1 = 0
Global Utiliser_image_sur_bouton_clique_fenetre_bouton_1 = 1

; quand le bouton gauche et droit de la souris est appuilez sur le bouton:

Global couleur_face_bouton_clique_gauche_plus_droit_bouton_1 = RGB(241, 241, 241)
Global couleur_bordure_haut_bouton_clique_gauche_plus_droit_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_gauche_bouton_clique_gauche_plus_droit_bouton_1 = RGB(255, 255, 255)
Global couleur_bordure_bas_bouton_clique_gauche_plus_droit_bouton_1 = RGB(160, 160, 160)
Global couleur_bordure_droite_bouton_clique_gauche_plus_droit_bouton_1 = RGB(160, 160, 160)
Global nom_police_bouton_clique_gauche_plus_droit_bouton_1$ = "verdana"
Global style_police_gras_bouton_clique_gauche_plus_droit_bouton_1 = 0
Global style_police_italique_clique_droit_bouton_1 = 0
Global style_police_soulignier_clique_droit_bouton_1 = 0
Global style_police_barrer_bouton_clique_gauche_plus_droit_bouton_1 = 0
Global taille_police_bouton_clique_gauche_plus_droit_bouton_1 = 12
Global couleur_texte_bouton_clique_gauche_plus_droit_bouton_1 = RGB(0, 0, 0)
Global texte_bouton_clique_gauche_plus_droit_bouton_1$ = "La souris est ici + clique  gauche et clique droit"

Global Position_X_texte_bouton_clique_gauche_plus_droit_bouton_1 = 1
Global Position_Y_texte_bouton_clique_gauche_plus_droit_bouton_1 = 1
Global Surplus_position_X_texte_bouton_clique_gauche_plus_droit_bouton_1 = 0
Global Surplus_position_Y_texte_bouton_clique_gauche_plus_droit_bouton_1 = 65
Global Numero_Image_bouton_clique_gauche_plus_droit_bouton_1 = 104
DataSection
  Pointeur_numero_Image_bouton_clique_gauche_plus_droit_bouton_1:
  IncludeBinary "tour.png"
EndDataSection
CatchImage(Numero_Image_bouton_clique_gauche_plus_droit_bouton_1, ?Pointeur_numero_Image_bouton_clique_gauche_plus_droit_bouton_1)
Global Position_X_Numero_Image_bouton_clique_gauche_plus_droit_bouton_1 = 0
Global Position_Y_Numero_Image_bouton_clique_gauche_plus_droit_bouton_1 = -30
Global Surplus_position_X_Numero_Image_bouton_clique_gauche_plus_droit_bouton_1 = 1
Global Surplus_position_Y_Numero_Image_bouton_clique_gauche_plus_droit_bouton_1 = 1
Global Utiliser_image_sur_bouton_clique_gauche_plus_droit_bouton_1 = 1
;}

Macro bouton_1_selectionner()
  ImageGadget(#bouton_1, x_bouton_1, y_bouton_1, l_bouton_1, h_bouton_1, MyLabeledImage(#My_Labeled_Image_bouton_1, l_bouton_1, h_bouton_1, couleur_face_bouton_selectionner_bouton_1, couleur_texte_bouton_selectionner_bouton_1, texte_bouton_selectionner_bouton_1$, Position_X_texte_bouton_selectionner_bouton_1, Position_Y_texte_bouton_selectionner_bouton_1, nom_police_bouton_selectionner_bouton_1$, style_police_gras_bouton_selectionner_bouton_1, style_police_italique_bouton_selectionner_bouton_1, style_police_soulignier_bouton_selectionner_bouton_1, style_police_barrer_bouton_selectionner_bouton_1, taille_police_bouton_selectionner_bouton_1, Surplus_position_X_texte_bouton_selectionner_bouton_1, Surplus_position_Y_texte_bouton_selectionner_bouton_1, Numero_Image_bouton_selectionner_bouton_1, Position_X_Numero_Image_bouton_selectionner_bouton_1, Position_Y_Numero_Image_bouton_selectionner_bouton_1, Surplus_position_X_Numero_Image_bouton_selectionner_bouton_1, Surplus_position_Y_Numero_Image_bouton_selectionner_bouton_1, Utiliser_image_sur_bouton_selectionner_bouton_1))
  interupteur_Image_bouton_1 = 1
  StartDrawing(WindowOutput(#Window_0))
  Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_selectionner_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_selectionner_bouton_1)
  Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_selectionner_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_selectionner_bouton_1)
  StopDrawing()
  GadgetToolTip(#bouton_1, tool_tip_bouton_1$)
  etas_bouton_1$ = "selectionner"
EndMacro

Macro bouton_1_non_selectionner_depart()
  ImageGadget(#bouton_1, x_bouton_1, y_bouton_1, l_bouton_1, h_bouton_1, MyLabeledImage(#My_Labeled_Image_bouton_1, l_bouton_1, h_bouton_1, couleur_face_bouton_non_selectionner_bouton_1, couleur_texte_bouton_non_selectionner_bouton_1, texte_bouton_non_selectionner_bouton_1$, Position_X_texte_bouton_non_selectionner_bouton_1, Position_Y_texte_bouton_non_selectionner_bouton_1, nom_police_bouton_non_selectionner_bouton_1$, style_police_gras_bouton_non_selectionner_bouton_1, style_police_italique_bouton_non_selectionner_bouton_1, style_police_soulignier_bouton_non_selectionner_bouton_1, style_police_barrer_bouton_non_selectionner_bouton_1, taille_police_bouton_non_selectionner_bouton_1, Surplus_position_X_texte_bouton_non_selectionner_bouton_1, Surplus_position_Y_texte_bouton_non_selectionner_bouton_1, Numero_Image_bouton_non_selectionner_bouton_1, Position_X_Numero_Image_bouton_non_selectionner_bouton_1, Position_Y_Numero_Image_bouton_non_selectionner_bouton_1, Surplus_position_X_Numero_Image_bouton_non_selectionner_bouton_1, Surplus_position_Y_Numero_Image_bouton_non_selectionner_bouton_1, Utiliser_image_sur_bouton_non_selectionner_bouton_1))
  StartDrawing(WindowOutput(#Window_0))
  Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_non_selectionner_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_non_selectionner_bouton_1)
  Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_non_selectionner_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_non_selectionner_bouton_1)
  StopDrawing()
  GadgetToolTip(#bouton_1, tool_tip_bouton_1$)
  etas_bouton_1$ = "non selectionner depart"
EndMacro

Macro bouton_1_non_selectionner_suite()
  interupteur_Image_bouton_1 = 0
  ImageGadget(#bouton_1, x_bouton_1, y_bouton_1, l_bouton_1, h_bouton_1, MyLabeledImage(#My_Labeled_Image_bouton_1, l_bouton_1, h_bouton_1, couleur_face_bouton_non_selectionner_bouton_1, couleur_texte_bouton_non_selectionner_bouton_1, texte_bouton_non_selectionner_bouton_1$, Position_X_texte_bouton_non_selectionner_bouton_1, Position_Y_texte_bouton_non_selectionner_bouton_1, nom_police_bouton_non_selectionner_bouton_1$, style_police_gras_bouton_non_selectionner_bouton_1, style_police_italique_bouton_non_selectionner_bouton_1, style_police_soulignier_bouton_non_selectionner_bouton_1, style_police_barrer_bouton_non_selectionner_bouton_1, taille_police_bouton_non_selectionner_bouton_1, Surplus_position_X_texte_bouton_non_selectionner_bouton_1, Surplus_position_Y_texte_bouton_non_selectionner_bouton_1, Numero_Image_bouton_non_selectionner_bouton_1, Position_X_Numero_Image_bouton_non_selectionner_bouton_1, Position_Y_Numero_Image_bouton_non_selectionner_bouton_1, Surplus_position_X_Numero_Image_bouton_non_selectionner_bouton_1, Surplus_position_Y_Numero_Image_bouton_non_selectionner_bouton_1, Utiliser_image_sur_bouton_non_selectionner_bouton_1))
  StartDrawing(WindowOutput(#Window_0))
  Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_non_selectionner_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_non_selectionner_bouton_1)
  Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_non_selectionner_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_non_selectionner_bouton_1)
  StopDrawing()
  GadgetToolTip(#bouton_1, tool_tip_bouton_1$)
  etas_bouton_1$ = "non selectionner suite"
EndMacro

Macro bouton_1_appuiyer()
  interupteur_Image_bouton_1 = 1
  clique_gauche_sur_bouton_1 = 1
  ImageGadget(#bouton_1, x_bouton_1, y_bouton_1, l_bouton_1, h_bouton_1, MyLabeledImage(#My_Labeled_Image_bouton_1, l_bouton_1, h_bouton_1, couleur_face_bouton_appuiyer_bouton_1, couleur_texte_bouton_appuiyer_bouton_1, texte_bouton_appuiyer_bouton_1$, Position_X_texte_bouton_appuiyer_bouton_1, Position_Y_texte_bouton_appuiyer_bouton_1, nom_police_bouton_appuiyer_bouton_1$, style_police_gras_bouton_appuiyer_bouton_1, style_police_italique_bouton_appuiyer_bouton_1, style_police_soulignier_bouton_appuiyer_bouton_1, style_police_barrer_bouton_appuiyer_bouton_1, taille_police_bouton_appuiyer_bouton_1, Surplus_position_X_texte_bouton_appuiyer_bouton_1, Surplus_position_Y_texte_bouton_appuiyer_bouton_1, Numero_Image_bouton_appuiyer_bouton_1, Position_X_Numero_Image_bouton_appuiyer_bouton_1, Position_Y_Numero_Image_bouton_appuiyer_bouton_1, Surplus_position_X_Numero_Image_bouton_appuiyer_bouton_1, Surplus_position_Y_Numero_Image_bouton_appuiyer_bouton_1, Utiliser_image_sur_bouton_appuiyer_bouton_1))
  StartDrawing(WindowOutput(#Window_0))
  Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_appuiyer_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_appuiyer_bouton_1)
  Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_appuiyer_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_appuiyer_bouton_1)
  StopDrawing()
  GadgetToolTip(#bouton_1, tool_tip_bouton_1$)
  etas_bouton_1$ = "appuiyer"
EndMacro

Macro bouton_1_clique_fenetre()
  interupteur_Image_bouton_1 = 1
  ImageGadget(#bouton_1, x_bouton_1, y_bouton_1, l_bouton_1, h_bouton_1, MyLabeledImage(#My_Labeled_Image_bouton_1, l_bouton_1, h_bouton_1, couleur_face_bouton_clique_fenetre_bouton_1, couleur_texte_bouton_clique_fenetre_bouton_1, texte_bouton_clique_fenetre_bouton_1$, Position_X_texte_bouton_clique_fenetre_bouton_1, Position_Y_texte_bouton_clique_fenetre_bouton_1, nom_police_bouton_clique_fenetre_bouton_1$, style_police_gras_bouton_clique_fenetre_bouton_1, style_police_italique_bouton_clique_fenetre_bouton_1, style_police_soulignier_bouton_clique_fenetre_bouton_1, style_police_barrer_bouton_clique_fenetre_bouton_1, taille_police_bouton_clique_fenetre_bouton_1, Surplus_position_X_texte_bouton_clique_fenetre_bouton_1, Surplus_position_Y_texte_bouton_clique_fenetre_bouton_1, Numero_Image_bouton_clique_fenetre_bouton_1, Position_X_Numero_Image_bouton_clique_fenetre_bouton_1, Position_Y_Numero_Image_bouton_clique_fenetre_bouton_1, Surplus_position_X_Numero_Image_bouton_clique_fenetre_bouton_1, Surplus_position_Y_Numero_Image_bouton_clique_fenetre_bouton_1, Utiliser_image_sur_bouton_clique_fenetre_bouton_1))
  StartDrawing(WindowOutput(#Window_0))
  Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_clique_fenetre_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_clique_fenetre_bouton_1)
  Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_clique_fenetre_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_clique_fenetre_bouton_1)
  StopDrawing()
  GadgetToolTip(#bouton_1, tool_tip_bouton_1$)
  etas_bouton_1$ = "clique fenetre"
EndMacro

Macro bouton_1_clique_droit()
  ImageGadget(#bouton_1, x_bouton_1, y_bouton_1, l_bouton_1, h_bouton_1, MyLabeledImage(#My_Labeled_Image_bouton_1, l_bouton_1, h_bouton_1, couleur_face_bouton_clique_droit_bouton_1, couleur_texte_bouton_clique_droit_bouton_1, texte_bouton_clique_droit_bouton_1$, Position_X_texte_bouton_clique_droit_bouton_1, Position_Y_texte_bouton_clique_droit_bouton_1, nom_police_bouton_clique_droit_bouton_1$, style_police_gras_bouton_clique_droit_bouton_1, style_police_italique_bouton_clique_droit_bouton_1, style_police_soulignier_bouton_clique_droit_bouton_1, style_police_barrer_bouton_clique_droit_bouton_1, taille_police_bouton_clique_droit_bouton_1, Surplus_position_X_texte_bouton_clique_droit_bouton_1, Surplus_position_Y_texte_bouton_clique_droit_bouton_1, Numero_Image_bouton_clique_droit_bouton_1, Position_X_Numero_Image_bouton_clique_droit_bouton_1, Position_Y_Numero_Image_bouton_clique_droit_bouton_1, Surplus_position_X_Numero_Image_bouton_clique_droit_bouton_1, Surplus_position_Y_Numero_Image_bouton_clique_droit_bouton_1, Utiliser_image_sur_bouton_clique_droit_bouton_1))
  StartDrawing(WindowOutput(#Window_0))
  Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_clique_droit_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_clique_droit_bouton_1)
  Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_clique_droit_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_clique_droit_bouton_1)
  StopDrawing()
  GadgetToolTip(#bouton_1, tool_tip_bouton_1$)
  etas_bouton_1$ = "clique droit"
EndMacro

Macro bouton_1_appuiyer_plus_clique_droit()
  ImageGadget(#bouton_1, x_bouton_1, y_bouton_1, l_bouton_1, h_bouton_1, MyLabeledImage(#My_Labeled_Image_bouton_1, l_bouton_1, h_bouton_1, couleur_face_bouton_clique_gauche_plus_droit_bouton_1, couleur_texte_bouton_clique_gauche_plus_droit_bouton_1, texte_bouton_clique_gauche_plus_droit_bouton_1$, Position_X_texte_bouton_clique_gauche_plus_droit_bouton_1, Position_Y_texte_bouton_clique_gauche_plus_droit_bouton_1, nom_police_bouton_clique_gauche_plus_droit_bouton_1$, style_police_gras_bouton_clique_gauche_plus_droit_bouton_1, style_police_italique_bouton_clique_gauche_plus_droit_bouton_1, style_police_soulignier_bouton_clique_gauche_plus_droit_bouton_1, style_police_barrer_bouton_clique_gauche_plus_droit_bouton_1, taille_police_bouton_clique_gauche_plus_droit_bouton_1, Surplus_position_X_texte_bouton_clique_gauche_plus_droit_bouton_1, Surplus_position_Y_texte_bouton_clique_gauche_plus_droit_bouton_1, Numero_Image_bouton_clique_gauche_plus_droit_bouton_1, Position_X_Numero_Image_bouton_clique_gauche_plus_droit_bouton_1, Position_Y_Numero_Image_bouton_clique_gauche_plus_droit_bouton_1, Surplus_position_X_Numero_Image_bouton_clique_gauche_plus_droit_bouton_1, Surplus_position_Y_Numero_Image_bouton_clique_gauche_plus_droit_bouton_1, Utiliser_image_sur_bouton_clique_gauche_plus_droit_bouton_1))
  StartDrawing(WindowOutput(#Window_0))
  Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_appuiyer_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_appuiyer_bouton_1)
  Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_appuiyer_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_appuiyer_bouton_1)
  StopDrawing()
  GadgetToolTip(#bouton_1, tool_tip_bouton_appuiyer_bouton_1$)
  etas_bouton_1$ = "appuiyer + clique droit"
EndMacro

Macro bouton_1_clique_centre()
  Clic_centre_souris = 0
  interupteur_Clic_centre_souris = 0
  ImageGadget(#bouton_1, x_bouton_1, y_bouton_1, l_bouton_1, h_bouton_1, MyLabeledImage(#My_Labeled_Image_bouton_1, l_bouton_1, h_bouton_1, couleur_face_bouton_clique_centre_bouton_1, couleur_texte_bouton_clique_centre_bouton_1, texte_bouton_clique_centre_bouton_1$, Position_X_texte_bouton_clique_centre_bouton_1, Position_Y_texte_bouton_clique_centre_bouton_1, nom_police_bouton_clique_centre_bouton_1$, style_police_gras_bouton_clique_centre_bouton_1, style_police_italique_bouton_clique_centre_bouton_1, style_police_soulignier_bouton_clique_centre_bouton_1, style_police_barrer_bouton_clique_centre_bouton_1, taille_police_bouton_clique_centre_bouton_1, Surplus_position_X_texte_bouton_clique_centre_bouton_1, Surplus_position_Y_texte_bouton_clique_centre_bouton_1, Numero_Image_bouton_clique_centre_bouton_1, Position_X_Numero_Image_bouton_clique_centre_bouton_1, Position_Y_Numero_Image_bouton_clique_centre_bouton_1, Surplus_position_X_Numero_Image_bouton_clique_centre_bouton_1, Surplus_position_Y_Numero_Image_bouton_clique_centre_bouton_1, Utiliser_image_sur_bouton_clique_centre_bouton_1))
  StartDrawing(WindowOutput(#Window_0))
  Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_clique_centre_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_clique_centre_bouton_1)
  Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_clique_centre_bouton_1)
  Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_clique_centre_bouton_1)
  StopDrawing()
  GadgetToolTip(#bouton_1, tool_tip_bouton_1$)
  etas_bouton_1$ = "clique centre"
EndMacro

; tous ça est de moi
Procedure Fenetre()
  If OpenWindow(#Window_0, 523, 142, 600, 300, " Bouton Image Gadget fait maison",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
    SmartWindowRefresh(#Window_0, 1)
    ; on déssine au départ le bouton pour qu'il apparaise sur la fenêtre = à si la souris n'est pas sur le bouton
    bouton_1_non_selectionner_depart()
  EndIf
  
  Repeat ; Start of the event loop
    
    Event = WaitWindowEvent(1) ; This line waits until an event is received from Windows
    WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
    GadgetID = EventGadget() ; Is it a gadget event?
    EventType = EventType() ; The event type
    ButtonID = 0 ; The button ID Clicked
    
    If Not IsMouseOverGadget(#bouton_1) And interupteur_Clic_centre_souris = 0
      Clic_centre_souris = 0
      interupteur_Clic_centre_souris = 1
    EndIf
    
    If bouton_1_activer = 1
      If IsMouseOverGadget(#bouton_1) And interupteur_Image_bouton_1 = 0 And clique_gauche_sur_fenetre_bouton_1 = 0 And clique_gauche_sur_bouton_1 = 1 ; si la souris est sur le bouton et que le clique gauche de la souris est appuiyer (quand le bouton gauche de la souris n'est pas appuilez sur la fenêtre et glisser sur le bouton)
        bouton_1_appuiyer()
        
      ElseIf IsMouseOverGadget(#bouton_1) And interupteur_Image_bouton_1 = 0 And clique_gauche_sur_fenetre_bouton_1 = 0 ; quand la souris est sur le bouton et que aucun bouton n'est appuiyer et quand le bouton gauche de la souris n'est pas appuilez sur la fenêtre et glisser sur le bouton
        bouton_1_selectionner()
        
      ElseIf IsMouseOverGadget(#bouton_1) And interupteur_Image_bouton_1 = 0 And clique_gauche_sur_fenetre_bouton_1 = 1 And clique_droit_sur_bouton_1 = 0 ; quand le bouton gauche de la souris est appuilez sur la fenêtre et glisser sur le bouton
        bouton_1_clique_fenetre()
      EndIf
      
      If Not IsMouseOverGadget(#bouton_1) And interupteur_Image_bouton_1 = 1 ; si la souris n'est pas sur le bouton
        bouton_1_non_selectionner_suite()
      EndIf
    EndIf
    
    If Event = #PB_Event_Gadget
      
      If GadgetID = #bouton_1
        If bouton_1_activer = 1
          If EventType = #PB_EventType_LeftClick ; clique gauche sur le bouton
            bouton_1_appuiyer()
            
          ElseIf EventType = #PB_EventType_RightClick ; clique droit sur le bouton
            
            interupteur_Image_bouton_1 = 1
            If clique_gauche_sur_bouton_1 = 0 ; le bouton gauche n'est pas appuiyer
              bouton_1_clique_droit()
            ElseIf clique_gauche_sur_bouton_1 = 1 ; le bouton gauche est déjà appuiyer (il y as eu un clique gauche avec la souris sur le bouton et c'elle-ci a été glisser en dehor du bouton et qu'elle revient ensuite)
              bouton_1_appuiyer_plus_clique_droit()
            EndIf
            
          ElseIf EventType = #PB_EventType_LeftDoubleClick
            
          ElseIf EventType = #PB_EventType_RightDoubleClick
            
          ElseIf EventType = #PB_EventType_DragStart
            
          EndIf
        EndIf
        
      Else
        
      EndIf
      
    ElseIf Event = #Clic_gauche_souris And bouton_1_activer = 1
      clique_gauche_sur_fenetre_bouton_1 = 1
      
    ElseIf Event = #Clic_gauche_relacher_souris And bouton_1_activer = 1 ; quand ya eu un clique gauche sur le bouton et quand le clique gauche est ralacher sur celui-ci
      If IsMouseOverGadget(#bouton_1) And interupteur_Image_bouton_1 = 1 And clique_gauche_sur_bouton_1 = 1 And clique_gauche_sur_fenetre_bouton_1 = 0
        interupteur_Image_bouton_1 = 0
        ButtonID = #bouton_1
      Else ; quand le clique gauche est ralacher sur la fenêtre
        
      EndIf
      If  bouton_1_activer = 1
        interupteur_Image_bouton_1 = 0
        clique_gauche_sur_bouton_1 = 0
        clique_gauche_sur_fenetre_bouton_1 = 0
      EndIf
      
    ElseIf Event = #Clic_droit_souris
      
    ElseIf Event = #Clic_double_gauche_souris
      
    ElseIf Event = #Clic_droit_relacher_souris
      clique_droit_sur_bouton_1 = 0
      
    ElseIf Event = #Clic_double_droit_souris
      
    ElseIf Event = #Clic_centre_souris And bouton_1_activer = 1
      If IsMouseOverGadget(#bouton_1)
        Clic_centre_souris = 1
        interupteur_Clic_centre_souris = 0
      EndIf
    ElseIf Event = #Clic_centre_relacher_souris And bouton_1_activer = 1
      If Clic_centre_souris = 1 And clique_gauche_sur_bouton_1 = 0
        bouton_1_clique_centre()
      EndIf
      
    ElseIf Event = #Clic_double_centre_souris
      
    ElseIf Event = #Molette_souris
      
    ElseIf Event = #PB_Event_Repaint
      If bouton_1_activer = 1
        If etas_bouton_1$ = "selectionner" 
          StartDrawing(WindowOutput(#Window_0))
          Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_selectionner_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_selectionner_bouton_1)
          Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_selectionner_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_selectionner_bouton_1)
          StopDrawing()
        ElseIf etas_bouton_1$ = "non selectionner depart"
          StartDrawing(WindowOutput(#Window_0))
          Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_non_selectionner_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_non_selectionner_bouton_1)
          Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_non_selectionner_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_non_selectionner_bouton_1)
          StopDrawing()
        ElseIf etas_bouton_1$ = "non selectionner suite"
          StartDrawing(WindowOutput(#Window_0))
          Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_non_selectionner_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_non_selectionner_bouton_1)
          Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_non_selectionner_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_non_selectionner_bouton_1)
          StopDrawing()
        ElseIf etas_bouton_1$ = "appuiyer"
          StartDrawing(WindowOutput(#Window_0))
          Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_appuiyer_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_appuiyer_bouton_1)
          Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_appuiyer_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_appuiyer_bouton_1)
          StopDrawing()
        ElseIf etas_bouton_1$ = "appuiyer + clique droit"
          StartDrawing(WindowOutput(#Window_0))
          Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_appuiyer_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_appuiyer_bouton_1)
          Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_appuiyer_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_appuiyer_bouton_1)
          StopDrawing()
        ElseIf etas_bouton_1$ = "clique fenetre"
          StartDrawing(WindowOutput(#Window_0))
          Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_clique_fenetre_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_clique_fenetre_bouton_1)
          Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_clique_fenetre_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_clique_fenetre_bouton_1)
          StopDrawing()
        ElseIf etas_bouton_1$ = "clique droit"
          StartDrawing(WindowOutput(#Window_0))
          Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_clique_droit_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_clique_droit_bouton_1)
          Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_clique_droit_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_clique_droit_bouton_1)
          StopDrawing()
        ElseIf etas_bouton_1$ = "clique centre"
          StartDrawing(WindowOutput(#Window_0))
          Box(x_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, l_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_haut_bouton_clique_centre_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1, couleur_bordure_gauche_bouton_clique_centre_bouton_1)
          Box(x_bouton_1 + l_bouton_1, y_bouton_1 - epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, h_bouton_1 + epesseur_bordure_bouton_1 * 2, couleur_bordure_bas_bouton_clique_centre_bouton_1)
          Box(x_bouton_1 - epesseur_bordure_bouton_1, y_bouton_1 + h_bouton_1, l_bouton_1 + epesseur_bordure_bouton_1, epesseur_bordure_bouton_1, couleur_bordure_droite_bouton_clique_centre_bouton_1)
          StopDrawing()
        EndIf
      EndIf
      
    EndIf
    
    If ButtonID = #bouton_1
      Debug "bouton appuiyer"
    EndIf
    
  Until Event = #PB_Event_CloseWindow ; End of the event loop
  
EndProcedure

Fenetre()
Voilà ce que je voulais les amis :)
j'ai beaucoup bosser sur ce code pour qu'il soit le mieux possible
et qu'il face ce que je veut :D

mais je sais qu'il est tres loin d'être parfais
alors comment on pourais faire pour en faire une espece
de library un peut comme purecolor quoi
enfin je ne sais pas moi

Bon ça marche et c'est tous ce qui compte non ?
car la je peut faire ce que je veut avec mon bouton !

Pouvez-vous m'aider a faire mieux :)

voila tous les fichier ici:

http://www.archive-host.com/files/87684 ... _maison.7z

Ah oui tans que j'y pense, comment je peut faire pour le mettre en mode "poussoir" togle quoi ?
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: création d'un editeur de boite de dialogue

Message par Ar-S »

Effectivement ton code marche bravo, par contre tes noms de variables sont vraiment trop longs, un truc de ouf.

Code : Tout sélectionner

ImageGadget(#bouton_1, x_bouton_1, y_bouton_1, l_bouton_1, h_bouton_1, MyLabeledImage(#My_Labeled_Image_bouton_1, l_bouton_1, h_bouton_1, couleur_face_bouton_non_selectionner_bouton_1, couleur_texte_bouton_non_selectionner_bouton_1, texte_bouton_non_selectionner_bouton_1$, Position_X_texte_bouton_non_selectionner_bouton_1, Position_Y_texte_bouton_non_selectionner_bouton_1, nom_police_bouton_non_selectionner_bouton_1$, style_police_gras_bouton_non_selectionner_bouton_1, style_police_italique_bouton_non_selectionner_bouton_1, style_police_soulignier_bouton_non_selectionner_bouton_1, style_police_barrer_bouton_non_selectionner_bouton_1, taille_police_bouton_non_selectionner_bouton_1, Surplus_position_X_texte_bouton_non_selectionner_bouton_1, Surplus_position_Y_texte_bouton_non_selectionner_bouton_1, Numero_Image_bouton_non_selectionner_bouton_1, Position_X_Numero_Image_bouton_non_selectionner_bouton_1, Position_Y_Numero_Image_bouton_non_selectionner_bouton_1, Surplus_position_X_Numero_Image_bouton_non_selectionner_bouton_1, Surplus_position_Y_Numero_Image_bouton_non_selectionner_bouton_1, Utiliser_image_sur_bouton_non_selectionner_bouton_1))
=> 1156 caractères...
Dans ces cas là mon cerveau cesse de fonctionner et freeze :D
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre