Vivement qu'on teste ca car pour l'instant, c'est du JCVD !Shadow a écrit :Ya ma lib de Bouton, et ya mon interface qui permettra de créer le Bouton utilisant ma lib.



Vivement qu'on teste ca car pour l'instant, c'est du JCVD !Shadow a écrit :Ya ma lib de Bouton, et ya mon interface qui permettra de créer le Bouton utilisant ma lib.
Code : Tout sélectionner
;{ Enumeration Fenêtres
Enumeration Fenetres
#Fenetre_principale
EndEnumeration
;}
;{ Enumération Gadgets
Enumeration Gadgets
#Chaine_TitreBoutonCree
#Texte_CreerBouton
#Chaine_EntreeBouton
#Frame_PoliceTexte
#Texte_NomPoliceTexte
#BoutonSelectionPolice
#Option_Gras
#Option_Italique
#Texte_TailleTexte
#ComboBox_TailleTexte
#Bouton_CouleurTexte
#Frame_ContourTexte
#Bouton_ContourTexte
#Texte_EpaisseurContourTexte
#ComboBox_EpaisseurContourTexte
#Frame_OmbreTexte
#Bouton_CouleurOmbreTexte
#Texte_TypeOmbreTexte
#ComboBox_TypeOmbreTexte
#Frame_DecalageTexte
#ComboBox_DecalageXTexte
#ComboBox_DecalageYTexte
#Texte_DecalageXTexte
#Texte_DecalageYTexte
#Frame_Bouton
#ComboBox_FormeBouton
#Texte_FormeBouton
#Frame_RemplissageBouton
#Bouton_Couleur1Remplissage
#Bouton_Couleur2Remplissage
#ComboBox_TypeRemplissageBouton
#Frame_BordureBouton
#Bouton_CouleurBordure
#Texte_EpaisseurBouton
#ComboBox_EpaisseurBordure
#Frame_OmbreBordureBouton
#Bouton_CouleurOmbreBouton
#Texte_TypeOmbreBouton
#ComboBox_TypeOmbreBouton
#Frame_AutreBordureBouton
#Texte_EffetAutreBouton
#ComboBox_AutreEffetBouton
#Texte_SurvolBouton
#ComboBox_SurvolAutreBouton
#Frame_TailleBordureBouton
#Texte_LargeurBouton
#ComboBox_LargeurBouton
#Texte_HauteurBouton
#ComboBox_HauteurBouton
#CheckBox_AutoLargeurBouton
#CheckBox_AutoHauteurBouton
#Bouton_Quitter
#Bouton_CreerBouton
#Canvas_CouleurTexte
#Canvas_CouleurContourTexte
#Canvas_CouleurOmbreTexte
#Canvas_Couleur1Bouton
#Canvas_Couleur2Bouton
#Canvas_CouleurBordureBouton
#Canvas_CouleurOmbreBouton
EndEnumeration
;}
;{ Enumération Polices
Enumeration Polices
#Arial10
#Arial12
#Arial14
#Micro10
#Police
EndEnumeration
;}
;{ Structure
Structure Bouton
;Police
NomPolice.s
StylePolice.i
TaillePolice.i
CouleurTexte.i
;Contour
CouleurContourTexte.i
EpaisseurContourTexte.i
;Ombre texte
CouleurOmbreTexte.i
TypeOmbreTexte.i
;Décalage texte
DecalageX.i
DecalageY.i
;Bouton
Forme.i
;Remplissage bouton
CoulRemplissage1.i
CoulRemplissage2.i
;Bordure bouton
CoulBordure.i
EpaisseurBordure.i
;Ombre bouton
CoulOmbreBouton.i
TypeOmbreBouton.i
;Autres
Effet.i
Survole.i
;Taille du bouton
LargeurBouton.i
HauteurBouton.i
LargBtn.b ;Largeur auto 0/1
HtBtn.b ;Hauteur auto 0/1
EndStructure
;}
;{ Déclarations des variables
Global .i Police = LoadFont(#Arial12, "Arial", 12, #PB_Font_Bold), TaillePolice, StylePolice
Global .s NomPolice = "Arial", TextePolice = " AaBcCcDdEeFfGgHhIiJj", TitreBouton
Global .i EpaisseurContourTexte
Global Dim Btn.Bouton(0)
;}
;{ Chargement des polices
LoadFont(#Arial10, "Arial", 10, #PB_Font_Bold|#PB_Font_HighQuality)
LoadFont(#Arial12, "Arial", 12, #PB_Font_Bold|#PB_Font_HighQuality)
LoadFont(#Arial14, "Arial", 14, #PB_Font_Bold|#PB_Font_HighQuality)
LoadFont(#Micro10, "Microsoft Sans Serif", 10, #PB_Font_Bold|#PB_Font_HighQuality)
;}
Procedure Programme_principal()
Protected OptionsFenetre = #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered
If OpenWindow(#Fenetre_principale, 0, 0, 795, 660, "", OptionsFenetre)
;Titre du bouton créé
StringGadget(#Chaine_TitreBoutonCree, 280, 20, 220, 65, "")
;Invite de création du bouton
TextGadget(#Texte_CreerBouton, 30, 115, 200, 25, "Créez votre bouton")
StringGadget(#Chaine_EntreeBouton, 30, 155, 195, 30, "")
;Cadre pour choisir la police
FrameGadget(#Frame_PoliceTexte, 25, 210, 750, 145, "Police")
TextGadget(#Texte_NomPoliceTexte, 35, 230, 500, 45, "")
ButtonGadget(#BoutonSelectionPolice, 695, 230, 60, 45, "Police")
OptionGadget(#Option_Gras, 80, 270, 65, 20, "Gras")
OptionGadget(#Option_Italique, 80, 290, 65, 20, "Italique")
TextGadget(#Texte_TailleTexte, 145, 280, 70, 20, "Taille du texte")
ComboBoxGadget(#ComboBox_TailleTexte, 220, 280, 105, 20)
For i = 5 To 300 Step 5
AddGadgetItem(#ComboBox_TailleTexte, -1, Str(i))
Next
SetGadgetState(#ComboBox_TailleTexte, 3)
CanvasGadget(#Canvas_CouleurTexte, 35, 270, 40, 40,#PB_Canvas_ClipMouse)
ButtonGadget(#Bouton_CouleurTexte, 35, 325, 60, 20, "Couleur")
;Cadre pour le caractèristiques du texte du bouton
FrameGadget(#Frame_ContourTexte, 25, 365, 140, 125, "Contour texte")
CanvasGadget(#Canvas_CouleurContourTexte, 105, 390, 40, 40,#PB_Canvas_ClipMouse)
ButtonGadget(#Bouton_ContourTexte, 35, 395, 60, 20, "Couleur")
TextGadget(#Texte_EpaisseurContourTexte, 35, 430, 55, 20, "Epaisseur")
ComboBoxGadget(#ComboBox_EpaisseurContourTexte, 35, 460, 105, 20)
AddGadgetItem(#ComboBox_EpaisseurContourTexte, 0, "Aucune")
AddGadgetItem(#ComboBox_EpaisseurContourTexte, 1, "Mince")
AddGadgetItem(#ComboBox_EpaisseurContourTexte, 2, "Moyen")
AddGadgetItem(#ComboBox_EpaisseurContourTexte, 3, "Epais")
AddGadgetItem(#ComboBox_EpaisseurContourTexte, 4, "Enorme")
;Cadre pour le choixe de l'ombre du bouton
FrameGadget(#Frame_OmbreTexte, 170, 365, 125, 125, "Ombre texte")
CanvasGadget(#Canvas_CouleurOmbreTexte, 245, 390, 40, 40,#PB_Canvas_ClipMouse)
ButtonGadget(#Bouton_CouleurOmbreTexte, 185, 395, 60, 20, "Couleur")
TextGadget(#Texte_TypeOmbreTexte, 180, 430, 40, 20, "Type")
ComboBoxGadget(#ComboBox_TypeOmbreTexte, 180, 460, 105, 20)
AddGadgetItem(#ComboBox_TypeOmbreTexte, 0, "Aucune")
AddGadgetItem(#ComboBox_TypeOmbreTexte, 1, "Douce")
AddGadgetItem(#ComboBox_TypeOmbreTexte, 2, "Nette")
AddGadgetItem(#ComboBox_TypeOmbreTexte, 3, "Lueur")
;Cadre pour le décalage du texte du bouton
FrameGadget(#Frame_DecalageTexte, 300, 365, 150, 125, "Décalage texte")
ComboBoxGadget(#ComboBox_DecalageXTexte, 330, 395, 105, 20)
For i = -50 To 50 Step 5
AddGadgetItem(#ComboBox_DecalageXTexte, -1, Str(i))
Next
SetGadgetState(#ComboBox_DecalageXTexte, 10)
ComboBoxGadget(#ComboBox_DecalageYTexte, 330, 440, 105, 20)
For i = -50 To 50 Step 5
AddGadgetItem(#ComboBox_DecalageYTexte, -1, Str(i))
Next
SetGadgetState(#ComboBox_DecalageYTexte, 10)
TextGadget(#Texte_DecalageXTexte, 305, 400, 10, 10, "X")
TextGadget(#Texte_DecalageYTexte, 305, 447, 10, 10, "Y")
FrameGadget(#Frame_Bouton, 455, 365, 140, 125, "Bouton")
ComboBoxGadget(#ComboBox_FormeBouton, 470, 460, 105, 20)
AddGadgetItem(#ComboBox_FormeBouton, 0, "Rectangle")
AddGadgetItem(#ComboBox_FormeBouton, 1, "Arrondie")
AddGadgetItem(#ComboBox_FormeBouton, 2, "Ronde")
AddGadgetItem(#ComboBox_FormeBouton, 3, "Ellipse")
AddGadgetItem(#ComboBox_FormeBouton, 4, "Pillule")
TextGadget(#Texte_FormeBouton, 465, 430, 40, 15, "Forme")
;Cadre pour le remplissage du bouton
FrameGadget(#Frame_RemplissageBouton, 600, 365, 175, 125, "Remplissage bouton")
CanvasGadget(#Canvas_Couleur1Bouton, 675, 390, 40, 40,#PB_Canvas_ClipMouse)
ButtonGadget(#Bouton_Couleur1Remplissage, 610, 390, 55, 20, "Couleur 1")
CanvasGadget(#Canvas_Couleur2Bouton, 725, 390, 40, 40,#PB_Canvas_ClipMouse)
ButtonGadget(#Bouton_Couleur2Remplissage, 610, 415, 55, 20, "Couleur 2")
ComboBoxGadget(#ComboBox_TypeRemplissageBouton, 615, 460, 135, 20)
AddGadgetItem(#ComboBox_TypeRemplissageBouton, 0, "Plat")
AddGadgetItem(#ComboBox_TypeRemplissageBouton, 1, "Dégradé vertical")
AddGadgetItem(#ComboBox_TypeRemplissageBouton, 2, "Dégradé horizontal")
AddGadgetItem(#ComboBox_TypeRemplissageBouton, 3, "Dégradé diagonal tombant")
AddGadgetItem(#ComboBox_TypeRemplissageBouton, 4, "Dégradé diagonal montant")
AddGadgetItem(#ComboBox_TypeRemplissageBouton, 5, "Dégradé radial")
;Cadre pour le type de bordure du bouton
FrameGadget(#Frame_BordureBouton, 25, 495, 140, 125, "Bordure bouton")
CanvasGadget(#Canvas_CouleurBordureBouton, 105, 520, 40, 40,#PB_Canvas_ClipMouse)
ButtonGadget(#Bouton_CouleurBordure, 35, 520, 60, 20, "Couleur")
TextGadget(#Texte_EpaisseurBouton, 35, 555, 60, 15, "Epaisseur")
ComboBoxGadget(#ComboBox_EpaisseurBordure, 35, 580, 105, 20)
AddGadgetItem(#ComboBox_EpaisseurBordure, 0, "Aucune")
AddGadgetItem(#ComboBox_EpaisseurBordure, 1, "Mince")
AddGadgetItem(#ComboBox_EpaisseurBordure, 2, "Moyen")
AddGadgetItem(#ComboBox_EpaisseurBordure, 3, "Epais")
AddGadgetItem(#ComboBox_EpaisseurBordure, 4, "Enorme")
FrameGadget(#Frame_OmbreBordureBouton, 170, 495, 140, 125, "Ombre bouton")
CanvasGadget(#Canvas_CouleurOmbreBouton, 250, 520, 40, 40,#PB_Canvas_ClipMouse)
ButtonGadget(#Bouton_CouleurOmbreBouton, 180, 525, 60, 20, "Couleur")
TextGadget(#Texte_TypeOmbreBouton, 180, 555, 40, 15, "Type")
ComboBoxGadget(#ComboBox_TypeOmbreBouton, 185, 580, 105, 20)
AddGadgetItem(#ComboBox_TypeOmbreBouton, 0, "Aucune")
AddGadgetItem(#ComboBox_TypeOmbreBouton, 1, "Décalé bas")
AddGadgetItem(#ComboBox_TypeOmbreBouton, 2, "Lueur")
AddGadgetItem(#ComboBox_TypeOmbreBouton, 3, "Mirroir")
;Cadre pour les effets
FrameGadget(#Frame_AutreBordureBouton, 315, 495, 125, 125, "Autre")
TextGadget(#Texte_EffetAutreBouton, 325, 512, 40, 15, "Effet")
ComboBoxGadget(#ComboBox_AutreEffetBouton, 325, 530, 105, 20)
AddGadgetItem(#ComboBox_AutreEffetBouton, 0, "Plat")
AddGadgetItem(#ComboBox_AutreEffetBouton, 1, "Tridimensionnel net")
AddGadgetItem(#ComboBox_AutreEffetBouton, 2, "Tridimentionnel")
AddGadgetItem(#ComboBox_AutreEffetBouton, 3, "Bordé")
AddGadgetItem(#ComboBox_AutreEffetBouton, 4, "Métal tridimentionnel")
AddGadgetItem(#ComboBox_AutreEffetBouton, 5, "Gel")
AddGadgetItem(#ComboBox_AutreEffetBouton, 6, "Verre")
TextGadget(#Texte_SurvolBouton, 325, 560, 40, 15, "Survolé")
ComboBoxGadget(#ComboBox_SurvolAutreBouton, 325, 580, 105, 20)
AddGadgetItem(#ComboBox_SurvolAutreBouton, 0, "Aucun")
AddGadgetItem(#ComboBox_SurvolAutreBouton, 1, "Brillant")
AddGadgetItem(#ComboBox_SurvolAutreBouton, 2, "Marqué")
AddGadgetItem(#ComboBox_SurvolAutreBouton, 3, "Eclat")
AddGadgetItem(#ComboBox_SurvolAutreBouton, 4, "Bosselé")
;Cadre pour la taille du bouton
FrameGadget(#Frame_TailleBordureBouton, 445, 495, 230, 125, "Taille bouton")
TextGadget(#Texte_LargeurBouton, 455, 520, 40, 15, "Largeur")
ComboBoxGadget(#ComboBox_LargeurBouton, 495, 515, 105, 20)
For i = 5 To GetSystemMetrics_(#SM_CXSCREEN) Step 5
AddGadgetItem(#ComboBox_LargeurBouton, -1, Str(i))
Next
SetGadgetState(#ComboBox_LargeurBouton, 29)
TextGadget(#Texte_HauteurBouton, 455, 560, 40, 15, "Hauteur")
ComboBoxGadget(#ComboBox_HauteurBouton, 495, 560, 105, 20)
For i = 5 To GetSystemMetrics_(#SM_CYSCREEN) Step 5
AddGadgetItem(#ComboBox_HauteurBouton, -1, Str(i))
Next
SetGadgetState(#ComboBox_HauteurBouton, 5)
CheckBoxGadget(#CheckBox_AutoLargeurBouton, 610, 515, 40, 20, "Auto")
CheckBoxGadget(#CheckBox_AutoHauteurBouton, 609, 560, 40, 20, "Auto")
ButtonGadget(#Bouton_Quitter, 25, 630, 125, 20, "&Quitter")
ButtonGadget(#Bouton_CreerBouton, 315, 630, 125, 20, "Créer le bouton")
;Polices
SetGadgetFont(#Texte_CreerBouton, FontID(#Arial14))
SetGadgetFont(#Frame_PoliceTexte, FontID(#Arial10))
SetGadgetFont(#Frame_ContourTexte, FontID(#Arial10))
SetGadgetFont(#Frame_OmbreTexte, FontID(#Arial10))
SetGadgetFont(#Frame_DecalageTexte, FontID(#Arial10))
SetGadgetFont(#Frame_Bouton, FontID(#Arial10))
SetGadgetFont(#Frame_RemplissageBouton, FontID(#Arial10))
SetGadgetFont(#Frame_BordureBouton, FontID(#Arial10))
SetGadgetFont(#Frame_OmbreBordureBouton, FontID(#Arial10))
SetGadgetFont(#Frame_AutreBordureBouton, FontID(#Arial10))
SetGadgetFont(#Frame_TailleBordureBouton, FontID(#Micro10))
SetGadgetFont(#Bouton_Quitter, FontID(#Arial12))
SetGadgetFont(#Bouton_CreerBouton, FontID(#Arial12))
EndIf
EndProcedure
Programme_principal()
;{ Boucle d'événements
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #Chaine_TitreBoutonCree
Case #Chaine_EntreeBouton
Case #BoutonSelectionPolice
FontRequester(NomPolice, 14, #PB_FontRequester_Effects)
Btn(0)\NomPolice = SelectedFontName()
Btn(0)\TaillePolice = SelectedFontSize()
Btn(0)\StylePolice = SelectedFontStyle()
If Btn(0)\StylePolice & 256 = #PB_Font_Bold
SetGadgetState(#Option_Gras, 1)
EndIf
If Btn(0)\StylePolice & 512 = #PB_Font_Italic
SetGadgetState(#Option_Italique, 1)
EndIf
Police = LoadFont(#Police, Btn(0)\NomPolice, Btn(0)\TaillePolice, Btn(0)\StylePolice)
SetGadgetText(#Texte_NomPoliceTexte, Btn(0)\NomPolice + TextePolice)
SetGadgetFont(#Texte_NomPoliceTexte, FontID(#Police))
Case #Option_Gras
Case #Option_Italique
Case #Texte_TailleTexte
Case #ComboBox_TailleTexte
Case #Bouton_CouleurTexte
Btn(0)\CouleurTexte = ColorRequester()
StartDrawing(CanvasOutput(#Canvas_CouleurTexte))
Box(0, 0, GadgetWidth(#Canvas_CouleurTexte), GadgetHeight(#Canvas_CouleurTexte), Btn(0)\CouleurTexte)
StopDrawing()
Case #Bouton_ContourTexte
Btn(0)\CouleurContourTexte = ColorRequester()
StartDrawing(CanvasOutput(#Canvas_CouleurContourTexte))
Box(0, 0, GadgetWidth(#Canvas_CouleurContourTexte), GadgetHeight(#Canvas_CouleurContourTexte), Btn(0)\CouleurContourTexte)
StopDrawing()
Case #ComboBox_EpaisseurContourTexte
Btn(0)\EpaisseurContourTexte = GetGadgetState(#ComboBox_EpaisseurContourTexte)
Case #Bouton_CouleurOmbreTexte
Btn(0)\CouleurOmbreTexte = ColorRequester()
StartDrawing(CanvasOutput(#Canvas_CouleurOmbreTexte))
Box(0, 0, GadgetWidth(#Canvas_CouleurOmbreTexte), GadgetHeight(#Canvas_CouleurOmbreTexte), Btn(0)\CouleurOmbreTexte)
StopDrawing()
Case #Texte_TypeOmbreTexte
Case #ComboBox_TypeOmbreTexte
Case #ComboBox_DecalageXTexte
Case #ComboBox_DecalageYTexte
Case #ComboBox_FormeBouton
Case #Texte_FormeBouton
Case #Bouton_Couleur1Remplissage
Btn(0)\CoulRemplissage1 = ColorRequester()
StartDrawing(CanvasOutput(#Canvas_Couleur1Bouton))
Box(0, 0, GadgetWidth(#Canvas_Couleur1Bouton), GadgetHeight(#Canvas_Couleur1Bouton), Btn(0)\CoulRemplissage1)
StopDrawing()
Case #Bouton_Couleur2Remplissage
Btn(0)\CoulRemplissage2 = ColorRequester()
StartDrawing(CanvasOutput(#Canvas_Couleur2Bouton))
Box(0, 0, GadgetWidth(#Canvas_Couleur2Bouton), GadgetHeight(#Canvas_Couleur2Bouton), Btn(0)\CoulRemplissage2)
StopDrawing()
Case #ComboBox_TypeRemplissageBouton
Case #Bouton_CouleurBordure
Btn(0)\CoulBordure = ColorRequester()
StartDrawing(CanvasOutput(#Canvas_CouleurBordureBouton))
Box(0, 0, GadgetWidth(#Canvas_CouleurBordureBouton), GadgetHeight(#Canvas_CouleurBordureBouton), Btn(0)\CoulBordure)
StopDrawing()
Case #Texte_EpaisseurBouton
Case #ComboBox_EpaisseurBordure
Case #Bouton_CouleurOmbreBouton
Btn(0)\CoulOmbreBouton = ColorRequester()
StartDrawing(CanvasOutput(#Canvas_CouleurOmbreBouton))
Box(0, 0, GadgetWidth(#Canvas_CouleurOmbreBouton), GadgetHeight(#Canvas_CouleurOmbreBouton), Btn(0)\CoulOmbreBouton)
StopDrawing()
Case #ComboBox_TypeOmbreBouton
Case #ComboBox_AutreEffetBouton
Case #ComboBox_SurvolAutreBouton
Case #Texte_LargeurBouton
Case #ComboBox_LargeurBouton
Case #ComboBox_HauteurBouton
Case #CheckBox_AutoLargeurBouton
Case #CheckBox_AutoHauteurBouton
Case #Bouton_Quitter
CloseWindow(#Fenetre_principale)
End
Case #Bouton_CreerBouton
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Fenetre_principale
CloseWindow(#Fenetre_principale)
Break
EndSelect
EndSelect
ForEver
;}
Pas avec PBpourquoi ne pas faire une fonction permettant de styler un bouton avec du CSS