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
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 »

Bin oui t'as reson :oops:

mais comme ça on s'y retrouve mieux :)
La dayvid, tu ne peux pas dire qu'on ne peux pas dessiner a 100% un bouton !!
SPH mat mon code et apres dit moi si ça c'est pas mieux hein :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
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 »

C'est un truc de ouf ton code davyd, je n'avais pas du tout compris c'etait quoi ton projet mais la tu m'as epate

je ferais un grand usage de ton code (si tu permet hein :D :D )

effectivement les variables sont "lourdes", mais c'est pas bien grave
bonne chance pour la suite !!!
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 »

Merci !

il manque un étas toogle a ce bouton
et il faudra certainement améliorer le code

c'est dommage que on ne puisse pas faire un library de ce truc la
pour que ce soit plus simple a utiliser
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
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

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

Message par SPH »

dayvid a écrit :SPH mat mon code et apres dit moi si ça c'est pas mieux hein :)
J'ai matté ton code mais je pense qu'on peux faire pareil en beaucoup plus court !!!!!!

!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 »

Apparemment tu veux faire du Rollover sur un bouton. Pas de souris sur ton bouton correspond à une image, un passage de souris correspond à une autre image et enfin un clic de souris encore une autre image.

Code : Tout sélectionner

UseJPEGImageDecoder() 

;Un gadget est il survolé (Joli macro hein ?"
Macro GadgetHoverCheck(x, y, Gadget)
  (((Not x<GadgetX(Gadget)) & (Not y<GadgetY(Gadget))) &(Not x>=(GadgetX(Gadget)+GadgetWidth(Gadget))) & (Not y>=(GadgetY(Gadget)+GadgetHeight(gadget))))
EndMacro

Enumeration
  #MainForm  
  #ButtonImage ;Bouton Image 
  
  #ImageState_Normal 
  #ImageState_Hover 
  #ImageState_Click 
EndEnumeration

;Affichage de notre fenetre 
Procedure MainFormShow()
  ;Chargement des 'images
  LoadImage(#ImageState_Normal, "bouton10.jpg")
  LoadImage(#ImageState_Hover, "bouton11.jpg")
  LoadImage(#ImageState_Click, "bouton12.jpg")

  OpenWindow(#MainForm,0,0,500,300,"Bouton Image Rollover",#PB_Window_ScreenCentered |#PB_Window_SizeGadget | #PB_Window_SystemMenu)
  ImageGadget(#ButtonImage,10,20,106,32,ImageID(#ImageState_Normal))
EndProcedure

;Evenement souris (Valeur retournée 0:Rien,  1 : Clique gauche, 2:Clique 3, 3:Clique milieu
Procedure EventMouse()
  If GetActiveWindow()<>-1
    ProcedureReturn Abs(GetAsyncKeyState_(#VK_LBUTTON) + GetAsyncKeyState_(#VK_RBUTTON)*2 + GetAsyncKeyState_(#VK_MBUTTON)*3)/$8000     
  EndIf
EndProcedure

MainFormShow()

Repeat
  Select EventMouse()
    Case 0 ;Bouton Relaché
      If GadgetHoverCheck(WindowMouseX(#mainform), WindowMouseY(#mainform), #ButtonImage)
        SetGadgetState(#ButtonImage, ImageID(#ImageState_Hover))
      Else 
         SetGadgetState(#ButtonImage, ImageID(#ImageState_Normal))
      EndIf
       
    Case 1
      If GadgetHoverCheck(WindowMouseX(#mainform), WindowMouseY(#mainform), #ButtonImage)
        SetGadgetState(#ButtonImage, ImageID(#ImageState_Click))
        MessageRequester("Information", "Joli bouton non ?")
      Else 
          SetGadgetState(#ButtonImage, ImageID(#ImageState_Normal))
      EndIf
  EndSelect


  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver
Code et images en cliquant sur ce lien
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 »

C'est bien sa aussi falsam !

sa va me servire, merci
car je pense que ce sera bien plus simple avec des image :)

de mon coté j'ai continuer :D

voici le MONSTRE ! (je met le lien car les code son trop volumineux :wink:

http://www.archive-host.com/files/88066 ... son_140.7z

Pas mal hein :)

bien maintenant j'ai un trcu a vous demander (une aide et un défis aussi enfin surtout une aide :) )
je voudrait que vous créez des bouton simple:

1: bouton On
2: bouton Off
3: clique On
4: clique Off
5: toogle On
6: toogle Off
7: bouton toogle On
8: bouton toogle Off

explication:

1: active le bouton si il est désactiver (bouton 3 et 4 désactiver)
2: desative le bouton si il est activer (bouton 3 et 4 activer)

3: activer les cliques si le mode clique est a Off
4: desactiver les cliques si le mode clique est a On

5: active le mode toogle si celui ci est désactiver
6: desactive le mode toogle si celui ci est activer (le bouton reprend alors sa forme de base quand il n'est pas selectionner et enfoncer)

7: met l'étas du bouton en toogle (appuiler) si celui-ci ne l'est pas déjà et que le mode toogle est activer
8: met l'étas du bouton en non toogle (non appuiler) si celui-ci ne l'est pas déjà et que le mode toogle est activer

merci vous me rendrez un grand service car j'ai essayer mais
j'ai pas trop réussi et en plus j'ai tous perdus :cry:

j'éspère de tous coeur que vous vous allez y arriver :)
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 ba voilà donc personne ne m'as aider
alors je vous met un 0 pointer a tous :mrgreen:

voici the monster

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

C du boulot :P

vous trouvé sa comment :?:
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
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

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

Message par SPH »

dayvid a écrit :Bon ba voilà donc personne ne m'as aider
alors je vous met un 0 pointer a tous :mrgreen:

voici the monster

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

C du boulot :P

vous trouvé sa comment :?:
Regarde ce que j'ai fais : une detection de boutton non rectangulaire :
http://xmas.free.fr/pb/pureboutton.zip

EDIT : dayvid, qu'est ce que tu fais ? Tu t'es barré ou quoi ??

!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
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

voilà, j'ai déconposer le code pour que ce soit plus simple a génrer par la suite
car je compte faire un e interface pour cella, et pourquoi pas commencer
un debut de programme de création de logiciel :D

http://www.archive-host.com/files/88829 ... _bouton.7z
EDIT : dayvid, qu'est ce que tu fais ? Tu t'es barré ou quoi ??
Comment sa ?

Edit: ton code est pas mal SPH
mais le problème est que il faudrait que les cliques prenne effetc que si la souris est sur le bouton !
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 »

Salut la troupe !

bon et bien moi j'ais essayer de faire deux trois chose
mais j'ai un problème avec pureforme

bref:

http://www.archive-host.com/files/89598 ... uton_32.7z
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 je suis en train de tous recommencer depuis le debut pour faire beaucoup plus simple
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
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

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

Message par SPH »

dayvid a écrit :Bon je suis en train de tous recommencer depuis le debut pour faire beaucoup plus simple
Oui, comme je te l'ai suggeré. :P

!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
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 »

Oui car c'étais beaucioup trop compliquer a force, un vérritable casse tête turk 8O :(

J'ai travailler sur ceci dernierement
en faite je vais essayer de crée un logiciel pour crée des bouton

et ensuite le prochain programme se servira de ses image suivent les évènement de la souris :)

Code : Tout sélectionner

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

Enumeration
  #Window_0
  #Planche_Image
  #Image_sur_planche
  #ImageGadget
  #Identifient_Image_Bouton_1
  #Numero_Image_personnaliser_Bouton_1
  #Police_texte_Bouton_1
EndEnumeration

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


Global Bouton_1_X = 100
Global Bouton_1_Y = 20
Global Bouton_1_L = 300
Global Bouton_1_H = 250

Global Mode_bordure_1_haute_Bouton_1$ = ""
Global Mode_bordure_1_droite_Bouton_1$ = "degrader"
Global Mode_bordure_1_bas_Bouton_1$ = ""
Global Mode_bordure_1_gauche_Bouton_1$ = "degrader"

Global Couleur_1_degrader_bordure_1_haute_Bouton_1 = RGB(255, 0, 0)
Global Couleur_1_degrader_bordure_1_droite_Bouton_1 = RGB(0, 0, 255)
Global Couleur_1_degrader_bordure_1_bas_Bouton_1 = RGB(0, 0, 0)
Global Couleur_1_degrader_bordure_1_gauche_Bouton_1 = RGB(255, 0, 0)

Global Couleur_2_degrader_bordure_1_haute_Bouton_1 = RGB(0, 0, 255)
Global Couleur_2_degrader_bordure_1_droite_Bouton_1 = RGB(255, 0, 0)
Global Couleur_2_degrader_bordure_1_bas_Bouton_1 = RGB(0, 0, 255)
Global Couleur_2_degrader_bordure_1_gauche_Bouton_1 = RGB(0, 0, 255)

Global Mode_face_Bouton_1$ = "degrader"
Global Couleur_1_degrader_face_Bouton_1 = RGB(255, 198, 0)
Global Couleur_2_degrader_face_Bouton_1 = RGB(0, 0, 255)

Global Transparence_Face_Bouton_1 = 255

Global Transparence_bordure_1_haute_Bouton_1 = 255
Global Transparence_bordure_1_droite_Bouton_1 = 255
Global Transparence_bordure_1_bas_Bouton_1 = 255
Global Transparence_bordure_1_gauche_Bouton_1 = 255

Global Couleur_face_Bouton_1 = RGBA(255, 198, 0, Transparence_Face_Bouton_1)

; Global Couleur_bordure_1_haute_Bouton_1 = RGBA(255, 255, 255, Transparence_bordure_1_haute_Bouton_1)
; Global Couleur_bordure_1_droite_Bouton_1 = RGBA(105, 105, 105, Transparence_bordure_1_droite_Bouton_1)
; Global Couleur_bordure_1_bas_Bouton_1 = RGBA(105, 105, 105, Transparence_bordure_1_bas_Bouton_1)
; Global Couleur_bordure_1_gauche_Bouton_1 = RGBA(255, 255, 255, Transparence_bordure_1_gauche_Bouton_1)

Global Couleur_bordure_1_haute_Bouton_1 = RGBA(0, 0, 255, Transparence_bordure_1_haute_Bouton_1)
Global Couleur_bordure_1_droite_Bouton_1 = RGBA(105, 105, 105, Transparence_bordure_1_droite_Bouton_1)
Global Couleur_bordure_1_bas_Bouton_1 = RGBA(255, 0, 0, Transparence_bordure_1_bas_Bouton_1)
Global Couleur_bordure_1_gauche_Bouton_1 = RGBA(255, 255, 255, Transparence_bordure_1_gauche_Bouton_1)

Global Epaisseur_bordure_1_haute_Bouton_1 = 1
Global Epaisseur_bordure_1_droite_Bouton_1 = 1
Global Epaisseur_bordure_1_bas_Bouton_1 = 1
Global Epaisseur_bordure_1_gauche_Bouton_1 = 1

Global Arrondi_face_X_Bouton_1 = 0
Global Arrondi_face_Y_Bouton_1 = 0

Global Arrondi_bordure_1_haute_X_Bouton_1 = 0
Global Arrondi_bordure_1_haute_Y_Bouton_1 = 0

Global Arrondi_bordure_1_droite_X_Bouton_1 = 0
Global Arrondi_bordure_1_droite_Y_Bouton_1 = 0

Global Arrondi_bordure_1_bas_X_Bouton_1 = 0
Global Arrondi_bordure_1_bas_Y_Bouton_1 = 0

Global Arrondi_bordure_1_gauche_X_Bouton_1 = 0
Global Arrondi_bordure_1_gauche_Y_Bouton_1 = 0

Global DrawingMode_bordure_1_haute_Bouton_1 = #PB_2DDrawing_Default
Global DrawingMode_bordure_1_droite_Bouton_1 = #PB_2DDrawing_Default
Global DrawingMode_bordure_1_bas_Bouton_1 = #PB_2DDrawing_Default
Global DrawingMode_bordure_1_gauche_Bouton_1 = #PB_2DDrawing_Default

Global Mode_bordure_2_haute_Bouton_1$ = ""
Global Mode_bordure_2_droite_Bouton_1$ = "degrader"
Global Mode_bordure_2_bas_Bouton_1$ = ""
Global Mode_bordure_2_gauche_Bouton_1$ = "degrader"

Global Couleur_1_degrader_bordure_2_haute_Bouton_1 = RGB(255, 0, 0)
Global Couleur_1_degrader_bordure_2_droite_Bouton_1 = RGB(255, 0, 0)
Global Couleur_1_degrader_bordure_2_bas_Bouton_1 = RGB(255, 0, 0)
Global Couleur_1_degrader_bordure_2_gauche_Bouton_1 = RGB(0, 0, 255)

Global Couleur_2_degrader_bordure_2_haute_Bouton_1 = RGB(0, 0, 255)
Global Couleur_2_degrader_bordure_2_droite_Bouton_1 = RGB(0, 0, 255)
Global Couleur_2_degrader_bordure_2_bas_Bouton_1 = RGB(0, 0, 255)
Global Couleur_2_degrader_bordure_2_gauche_Bouton_1 = RGB(255, 0, 0)

Global Transparence_bordure_2_haute_Bouton_1 = 255
Global Transparence_bordure_2_droite_Bouton_1 = 255
Global Transparence_bordure_2_bas_Bouton_1 = 255
Global Transparence_bordure_2_gauche_Bouton_1 = 255

Global Couleur_face_Bouton_1 = RGBA(255, 198, 0, Transparence_Face_Bouton_1)
; 
; Global Couleur_bordure_2_haute_Bouton_1 = RGBA(227, 227, 227, Transparence_bordure_2_haute_Bouton_1)
; Global Couleur_bordure_2_droite_Bouton_1 = RGBA(160, 160, 160, Transparence_bordure_2_droite_Bouton_1)
; Global Couleur_bordure_2_bas_Bouton_1 = RGBA(160, 160, 160, Transparence_bordure_2_bas_Bouton_1)
; Global Couleur_bordure_2_gauche_Bouton_1 = RGBA(227, 227, 227, Transparence_bordure_2_gauche_Bouton_1)


Global Couleur_bordure_2_haute_Bouton_1 = RGBA(0, 0, 255, Transparence_bordure_2_haute_Bouton_1)
Global Couleur_bordure_2_droite_Bouton_1 = RGBA(160, 160, 160, Transparence_bordure_2_droite_Bouton_1)
Global Couleur_bordure_2_bas_Bouton_1 = RGBA(255, 0, 0, Transparence_bordure_2_bas_Bouton_1)
Global Couleur_bordure_2_gauche_Bouton_1 = RGBA(227, 227, 227, Transparence_bordure_2_gauche_Bouton_1)


Global Epaisseur_bordure_2_haute_Bouton_1 = 1
Global Epaisseur_bordure_2_droite_Bouton_1 = 1
Global Epaisseur_bordure_2_bas_Bouton_1 = 1
Global Epaisseur_bordure_2_gauche_Bouton_1 = 1

Global Arrondi_face_X_Bouton_1 = 0
Global Arrondi_face_Y_Bouton_1 = 0

Global Arrondi_bordure_2_haute_X_Bouton_1 = 0
Global Arrondi_bordure_2_haute_Y_Bouton_1 = 0

Global Arrondi_bordure_2_droite_X_Bouton_1 = 0
Global Arrondi_bordure_2_droite_Y_Bouton_1 = 0

Global Arrondi_bordure_2_bas_X_Bouton_1 = 0
Global Arrondi_bordure_2_bas_Y_Bouton_1 = 0

Global Arrondi_bordure_2_gauche_X_Bouton_1 = 0
Global Arrondi_bordure_2_gauche_Y_Bouton_1 = 0

Global DrawingMode_bordure_2_haute_Bouton_1 = #PB_2DDrawing_Default
Global DrawingMode_bordure_2_droite_Bouton_1 = #PB_2DDrawing_Default
Global DrawingMode_bordure_2_bas_Bouton_1 = #PB_2DDrawing_Default
Global DrawingMode_bordure_2_gauche_Bouton_1 = #PB_2DDrawing_Default



;     #PB_2DDrawing_Default
;     #PB_2DDrawing_Outlined

Global Nom_police_Bouton_1$ = "Verdana"
Global Style_police_gras_Bouton_1 = 0
Global Style_police_italique_Bouton_1 = 0
Global Style_police_soulignier_Bouton_1 = 0
Global Style_police_barrer_Bouton_1 = 0
Global Taille_police_Bouton_1 = 12
Global Couleur_texte_Bouton_1 = RGB(255, 255, 255)
Global Texte_Bouton_1$ = "           Ceci est une image d'une très jolie maison de                           toutes les couleurs avec transparence                                                sur un fond dégrader                                                                                                                                ainsi que bords en dégrader"
Global AngleTexte = 0

Global Position_X_texte_Bouton_1 = 0
Global Position_Y_texte_Bouton_1 = 40
Global Surplus_position_X_texte_Bouton_1 = 0
Global Surplus_position_Y_texte_Bouton_1 = 0

DataSection
  Pointeur_Numero_Image_personnaliser_Bouton_1:
  IncludeBinary "maison.png"
EndDataSection

CatchImage(#Numero_Image_personnaliser_Bouton_1, ?Pointeur_Numero_Image_personnaliser_Bouton_1)

Global DrawingMode_image_personnaliser_sur_Bouton_1 = #PB_2DDrawing_AlphaBlend

Global Position_X_Image_personnaliser_Bouton_1 = 0
Global Position_Y_Image_personnaliser_Bouton_1 = -25
Global Utiliser_image_personnaliser_sur_Bouton_1 = 1

; 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())

; 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

; 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 MonImage(MonImageID, Largeur, Hauteur, CouleurTexte, CouleurFond, Texte$, AngleTexte, PositionTexteX, PositionTexteY, Police$, Gras, Italique, soulignier, barrer, TaillePolice, PositionTexteXP, PositionTexteYP, ImageID, PositionImageX, PositionImageY, PositionImageXP, PositionImageYP, AfficherImage = 0)
  Attributes = #FONT_NORMAL
  If Gras
    Attributes = Attributes + #FONT_BOLD
  EndIf
  If Italique
    Attributes = Attributes + #FONT_ITALIC
  EndIf
  If soulignier
    Attributes = Attributes + #FONT_UNDERLINE
  EndIf
  If barrer
    Attributes = Attributes + #FONT_STRIKEOUT
  EndIf
  
  FontUtiliser = CreateFont(Police$, TaillePolice, Attributes)
  
  RetourImageID = CreateImage(MonImageID, Largeur + Epaisseur_bordure_1_droite_Bouton_1 + Epaisseur_bordure_2_droite_Bouton_1, Hauteur + Epaisseur_bordure_1_bas_Bouton_1 + Epaisseur_bordure_2_bas_Bouton_1)
  StartDrawing(ImageOutput(MonImageID))
  
  DrawingMode(#PB_2DDrawing_AlphaBlend)
  Largeur + Epaisseur_bordure_1_droite_Bouton_1 + Epaisseur_bordure_2_droite_Bouton_1
  Hauteur + Epaisseur_bordure_1_bas_Bouton_1 + Epaisseur_bordure_2_bas_Bouton_1
  
  RoundBox(0, 0, Largeur, Hauteur, 0, 0, CouleurFond)
  
  If Mode_face_Bouton_1$ = "degrader"
  DrawingMode(#PB_2DDrawing_Gradient)  
  
  ; degrader en horizontale
  ;   LinearGradient(1, 1, Bouton_1_L, 1) 
  ;   GradientColor(1, RGB(255, 198, 0))
  ;   
  ;   LinearGradient(Bouton_1_L, 1, 1, 1)
  ;   GradientColor(0, RGB(0, 0, 255))
  
  ; degrader en verticalle
  LinearGradient(Bouton_1_H, 1, 1, Bouton_1_H) 
  GradientColor(1, Couleur_1_degrader_face_Bouton_1)
  
  LinearGradient(1, Bouton_1_H, 1, 1)
  GradientColor(0, Couleur_2_degrader_face_Bouton_1)
  
  Box(0, 0, Largeur, Hauteur, CouleurFond)
EndIf

  FrontColor(RGB(Red(CouleurTexte),Green(CouleurTexte),Blue(CouleurTexte)))
  DrawingFont(FontUtiliser)
  DrawingMode(1)
  
  If AfficherImage = 1
    If ImageID
      DrawingMode(DrawingMode_image_personnaliser_sur_Bouton_1)
      DrawImage(ImageID(ImageID), Largeur / 2 - ImageWidth(ImageID) / 2 + PositionImageX + PositionImageXP + 9, Hauteur / 2 - ImageHeight(ImageID) / 2 + PositionImageY + PositionImageYP)
    EndIf  
  EndIf
  DrawingMode(1)
  
  Position_extraction = 0
    Phrase$ = ""
    Ligne = 1
    Position_texte_Y = 0
    
  If TextWidth(Texte$) > Largeur
    
    Repeat
      Phrase$ = ""
      Repeat
        Position_extraction + 1
        caractere$ = Mid(Texte$, Position_extraction, 1)
        Phrase$ + caractere$
        
        If TextWidth(Phrase$) > (Largeur - 9 - (Epaisseur_bordure_1_droite_Bouton_1 + Epaisseur_bordure_2_droite_Bouton_1 + Epaisseur_bordure_1_gauche_Bouton_1 + Epaisseur_bordure_2_gauche_Bouton_1))
          Ligne + 1
          Break
        ElseIf Position_extraction = Len(Texte$)
          Ligne + 1
          Break
        EndIf
        
      ForEver
      Traitement_texte$ + "»" + Phrase$
    Until Position_extraction = Len(Texte$)
    
  Else
    Traitement_texte$ = Texte$
  EndIf

  For Affichage_texte = 1 To Ligne
    Texte$ = StringField(Traitement_texte$, Affichage_texte, "»")
    DrawRotatedText(Largeur / 2 - TextWidth(Texte$)  / 2 + PositionTexteX + PositionTexteXP, Hauteur / 2 - TextHeight(Texte$)  / 2 + Position_texte_Y + PositionTexteY + PositionTexteYP, Texte$, AngleTexte, CouleurTexte)
    Position_texte_Y + TextHeight(Texte$)
  Next

  StopDrawing()
  ProcedureReturn RetourImageID
EndProcedure

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 220, 0, 600, 300, "New window ( 0 )",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_ScreenCentered )
    
    Image_personnaliser_Bouton_1 = MonImage(#Identifient_Image_Bouton_1, Bouton_1_L - Epaisseur_bordure_1_gauche_Bouton_1 - Epaisseur_bordure_1_droite_Bouton_1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1 - Epaisseur_bordure_1_bas_Bouton_1, Couleur_texte_Bouton_1, Couleur_face_Bouton_1, Texte_Bouton_1$, AngleTexte, Position_X_texte_Bouton_1, Position_Y_texte_Bouton_1, Nom_police_Bouton_1$, Style_police_gras_Bouton_1, Style_police_italique_Bouton_1, Style_police_soulignier_Bouton_1, Style_police_barrer_Bouton_1, Taille_police_Bouton_1, Surplus_position_X_texte_Bouton_1, Surplus_position_Y_texte_Bouton_1, #Numero_Image_personnaliser_Bouton_1, Position_X_Image_personnaliser_Bouton_1, Position_Y_Image_personnaliser_Bouton_1, 1, 1, Utiliser_image_personnaliser_sur_Bouton_1)
    CreateImage(#Planche_Image, Bouton_1_L, Bouton_1_H)
    
    LoadFont(#Police_texte_Bouton_1, "Cambria", 10)
    
    StartDrawing(ImageOutput(#Planche_Image))
    DrawImage(Image_personnaliser_Bouton_1, 0, 0)
    
    DrawingMode(DrawingMode_bordure_1_haute_Bouton_1 | #PB_2DDrawing_AlphaBlend)
    
    If Mode_bordure_1_haute_Bouton_1$ = "degrader"
      ; bordure 1
      
      DrawingMode(DrawingMode_bordure_1_haute_Bouton_1 | #PB_2DDrawing_Gradient)
      
      ; degrader en verticalle
      ;     LinearGradient(1, 1, 1, 1)
      ;     GradientColor(0, RGB(0, 150, 0))
      ;     
      ;     LinearGradient(1, Epaisseur_bordure_1_haute_Bouton_1, 1, 1)   
      ;     GradientColor(1, RGB(255, 0, 0))
      
      ; degrader en horizontale
      LinearGradient(1, 1, 1, 1)
      GradientColor(0, Couleur_1_degrader_bordure_1_haute_Bouton_1)
      
      LinearGradient(1, 1, Bouton_1_L - Epaisseur_bordure_1_gauche_Bouton_1, 1)   
      GradientColor(1, Couleur_2_degrader_bordure_1_haute_Bouton_1)
    EndIf
    
    RoundBox(Epaisseur_bordure_1_gauche_Bouton_1, 0, Bouton_1_L - Epaisseur_bordure_1_gauche_Bouton_1, Epaisseur_bordure_1_haute_Bouton_1, Arrondi_bordure_1_haute_X_Bouton_1, Arrondi_bordure_1_haute_Y_Bouton_1, Couleur_bordure_1_haute_Bouton_1) ; bordure haut
    
    DrawingMode(DrawingMode_bordure_1_droite_Bouton_1 | #PB_2DDrawing_AlphaBlend)
    
    If Mode_bordure_1_droite_Bouton_1$ = "degrader"
      ; degrader en verticalle
      DrawingMode(DrawingMode_bordure_1_droite_Bouton_1 | #PB_2DDrawing_Gradient)
      
      LinearGradient(1, 1, 1, 1)
      GradientColor(1, Couleur_1_degrader_bordure_1_droite_Bouton_1)
      
      LinearGradient(1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1, 1, 1)
      GradientColor(0, Couleur_2_degrader_bordure_1_droite_Bouton_1)
      
      ; degrader en horizontale
      ;     LinearGradient(1, 1, 1, 1)
      ;     GradientColor(1, RGB(255, 0, 0))
      ;     
      ;     LinearGradient(1, 1, 1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1)   
      ;     GradientColor(0, RGB(0, 0, 255))
    EndIf
    
    RoundBox(Bouton_1_L - Epaisseur_bordure_1_droite_Bouton_1, Epaisseur_bordure_1_haute_Bouton_1, Epaisseur_bordure_1_droite_Bouton_1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1, Arrondi_bordure_1_droite_X_Bouton_1, Arrondi_bordure_1_droite_Y_Bouton_1, Couleur_bordure_1_droite_Bouton_1) ; bordure droite
    
    DrawingMode(DrawingMode_bordure_1_bas_Bouton_1 | #PB_2DDrawing_AlphaBlend)
    
    If Mode_bordure_1_bas_Bouton_1$ = "degrader"
      DrawingMode(DrawingMode_bordure_1_bas_Bouton_1 | #PB_2DDrawing_Gradient)
      ; degrader en verticalle
      ;     LinearGradient(1, 1, 1, 1)
      ;     GradientColor(0, RGB(0, 150, 0))
      ;     
      ;     LinearGradient(1, Epaisseur_bordure_1_haute_Bouton_1, 1, 1)   
      ;     GradientColor(1, RGB(255, 0, 0))
      
      ; degrader en horizontale
      LinearGradient(1, 1, 1, 1)
      GradientColor(1, Couleur_1_degrader_bordure_1_bas_Bouton_1)
      
      LinearGradient(1, 1, Bouton_1_L - Epaisseur_bordure_1_gauche_Bouton_1, 1)   
      GradientColor(0, Couleur_2_degrader_bordure_1_bas_Bouton_1)
    EndIf
    
    RoundBox(0, Bouton_1_H - Epaisseur_bordure_1_bas_Bouton_1, Bouton_1_L - Epaisseur_bordure_1_droite_Bouton_1, Epaisseur_bordure_1_bas_Bouton_1, Arrondi_bordure_1_bas_X_Bouton_1, Arrondi_bordure_1_bas_Y_Bouton_1, Couleur_bordure_1_bas_Bouton_1) ; bordure bas
    
    DrawingMode(DrawingMode_bordure_1_gauche_Bouton_1 | #PB_2DDrawing_AlphaBlend)
    
    If Mode_bordure_1_gauche_Bouton_1$ = "degrader"
      DrawingMode(DrawingMode_bordure_1_gauche_Bouton_1 | #PB_2DDrawing_Gradient)
      ; degrader en verticalle
      LinearGradient(1, 1, 1, 1)
      GradientColor(0, Couleur_1_degrader_bordure_1_gauche_Bouton_1)
      
      LinearGradient(1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1, 1, 1)
      GradientColor(1, Couleur_2_degrader_bordure_1_gauche_Bouton_1)
      
      ; degrader en horizontale
      ;     LinearGradient(1, 1, 1, 1)
      ;     GradientColor(1, RGB(255, 0, 0))
      ;     
      ;     LinearGradient(1, 1, 1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1)   
      ;     GradientColor(0, RGB(0, 0, 255))
    EndIf
    
    RoundBox(0, 0, Epaisseur_bordure_1_gauche_Bouton_1, Bouton_1_H - Epaisseur_bordure_1_bas_Bouton_1, Arrondi_bordure_1_gauche_X_Bouton_1, Arrondi_bordure_1_gauche_Y_Bouton_1, Couleur_bordure_1_gauche_Bouton_1) ; bordure gauche
    
    ; bordure 2
    DrawingMode(DrawingMode_bordure_2_haute_Bouton_1 | #PB_2DDrawing_AlphaBlend)
    
    If Mode_bordure_2_haute_Bouton_1$ = "degrader"
      DrawingMode(DrawingMode_bordure_2_haute_Bouton_1 | #PB_2DDrawing_Gradient)
      ; degrader en verticalle
      ;     LinearGradient(1, 1, 1, 1)
      ;     GradientColor(0, RGB(0, 150, 0))
      ;     
      ;     LinearGradient(1, Epaisseur_bordure_1_haute_Bouton_1, 1, 1)   
      ;     GradientColor(1, RGB(255, 0, 0))
      
      ; degrader en horizontale
      LinearGradient(1, 1, 1, 1)
      GradientColor(1, Couleur_1_degrader_bordure_2_haute_Bouton_1)
      
      LinearGradient(1, 1, Bouton_1_L - Epaisseur_bordure_1_gauche_Bouton_1, 1)   
      GradientColor(0, Couleur_2_degrader_bordure_2_haute_Bouton_1)
    EndIf
    
    RoundBox(Epaisseur_bordure_1_gauche_Bouton_1 + Epaisseur_bordure_2_gauche_Bouton_1, Epaisseur_bordure_1_haute_Bouton_1, Bouton_1_L - Epaisseur_bordure_1_gauche_Bouton_1 - Epaisseur_bordure_2_gauche_Bouton_1 - Epaisseur_bordure_1_droite_Bouton_1, Epaisseur_bordure_2_haute_Bouton_1, Arrondi_bordure_2_haute_X_Bouton_1, Arrondi_bordure_2_haute_Y_Bouton_1, Couleur_bordure_2_haute_Bouton_1) ; bordure haut
    
    DrawingMode(DrawingMode_bordure_2_droite_Bouton_1 | #PB_2DDrawing_AlphaBlend)
    
    If Mode_bordure_2_droite_Bouton_1$ = "degrader"
      DrawingMode(DrawingMode_bordure_2_droite_Bouton_1 | #PB_2DDrawing_Gradient)
      ; degrader en verticalle
      LinearGradient(1, 1, 1, 1)
      GradientColor(0, Couleur_1_degrader_bordure_2_droite_Bouton_1)
      
      LinearGradient(1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1, 1, 1)
      GradientColor(1, Couleur_2_degrader_bordure_2_droite_Bouton_1)
      
      ; degrader en horizontale
      ;     LinearGradient(1, 1, 1, 1)
      ;     GradientColor(1, RGB(255, 0, 0))
      ;     
      ;     LinearGradient(1, 1, 1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1)   
      ;     GradientColor(0, RGB(0, 0, 255))
    EndIf
    
    RoundBox(Bouton_1_L - Epaisseur_bordure_1_droite_Bouton_1 - Epaisseur_bordure_2_droite_Bouton_1, Epaisseur_bordure_2_haute_Bouton_1 + Epaisseur_bordure_1_haute_Bouton_1, Epaisseur_bordure_2_droite_Bouton_1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1 - Epaisseur_bordure_1_bas_Bouton_1 - Epaisseur_bordure_2_bas_Bouton_1, Arrondi_bordure_2_droite_X_Bouton_1, Arrondi_bordure_2_droite_Y_Bouton_1, Couleur_bordure_2_droite_Bouton_1) ; bordure droite
    
    DrawingMode(DrawingMode_bordure_2_bas_Bouton_1 | #PB_2DDrawing_AlphaBlend)
    
    If Mode_bordure_2_bas_Bouton_1$ = "degrader"
      DrawingMode(DrawingMode_bordure_2_bas_Bouton_1 | #PB_2DDrawing_Gradient)
      ; degrader en verticalle
      ;     LinearGradient(1, 1, 1, 1)
      ;     GradientColor(0, RGB(0, 150, 0))
      ;     
      ;     LinearGradient(1, Epaisseur_bordure_1_haute_Bouton_1, 1, 1)   
      ;     GradientColor(1, RGB(255, 0, 0))
      
      ; degrader en horizontale
      LinearGradient(1, 1, 1, 1)
      GradientColor(0, Couleur_1_degrader_bordure_2_bas_Bouton_1)
      
      LinearGradient(1, 1, Bouton_1_L - Epaisseur_bordure_1_gauche_Bouton_1, 1)   
      GradientColor(1, Couleur_2_degrader_bordure_2_bas_Bouton_1)
    EndIf
    
    RoundBox(Epaisseur_bordure_1_gauche_Bouton_1, Bouton_1_H - Epaisseur_bordure_1_bas_Bouton_1 - Epaisseur_bordure_2_bas_Bouton_1, Bouton_1_L - Epaisseur_bordure_1_gauche_Bouton_1 - Epaisseur_bordure_1_droite_Bouton_1 - Epaisseur_bordure_2_droite_Bouton_1, Epaisseur_bordure_2_bas_Bouton_1, Arrondi_bordure_2_bas_X_Bouton_1, Arrondi_bordure_2_bas_Y_Bouton_1, Couleur_bordure_2_bas_Bouton_1) ; bordure bas
    
    DrawingMode(DrawingMode_bordure_2_gauche_Bouton_1 | #PB_2DDrawing_AlphaBlend)
    
    If Mode_bordure_2_gauche_Bouton_1$ = "degrader"
      DrawingMode(DrawingMode_bordure_2_gauche_Bouton_1 | #PB_2DDrawing_Gradient)
      ; degrader en verticalle
      LinearGradient(1, 1, 1, 1)
      GradientColor(1, Couleur_1_degrader_bordure_2_gauche_Bouton_1)
      
      LinearGradient(1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1, 1, 1)
      GradientColor(0, Couleur_2_degrader_bordure_2_gauche_Bouton_1)
      
      ; degrader en horizontale
      ;     LinearGradient(1, 1, 1, 1)
      ;     GradientColor(1, RGB(255, 0, 0))
      ;     
      ;     LinearGradient(1, 1, 1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1)   
      ;     GradientColor(0, RGB(0, 0, 255))
    EndIf
    
    RoundBox(Epaisseur_bordure_1_gauche_Bouton_1, Epaisseur_bordure_1_haute_Bouton_1, Epaisseur_bordure_2_gauche_Bouton_1, Bouton_1_H - Epaisseur_bordure_1_bas_Bouton_1 - Epaisseur_bordure_1_haute_Bouton_1 - Epaisseur_bordure_2_bas_Bouton_1, Arrondi_bordure_2_gauche_X_Bouton_1, Arrondi_bordure_2_gauche_Y_Bouton_1, Couleur_bordure_2_gauche_Bouton_1) ; bordure gauche
    
    StopDrawing()
    
    ImageGadget(#ImageGadget, Bouton_1_X, Bouton_1_Y, Bouton_1_L - Epaisseur_bordure_1_gauche_Bouton_1 - Epaisseur_bordure_1_droite_Bouton_1, Bouton_1_H - Epaisseur_bordure_1_haute_Bouton_1 - Epaisseur_bordure_1_bas_Bouton_1, ImageID(#Planche_Image))
    
    Repeat ; Start of the event loop
      
      Event = WaitWindowEvent() ; 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
      
      If Event = #PB_Event_Gadget
        
        If GadgetID = #ImageGadget
          
        EndIf
        
      EndIf
      
    Until Event = #PB_Event_CloseWindow ; End of the event loop
    
    
  EndIf
EndProcedure

Open_Window_0()
Bon ce n'est que un bon debut déjà
car j'ai réussi a dessiner le tous sur une image

et ce qui est bien c'est que plus besoin de réafréchire car sa le fait tous seulle :D

Si vous avez des idées pour améliorer ceci, n'esitez pas !
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 »

Hé au faite, vous savez que je me casse la tête sur les bouton en ce moment non ?

J'ai trouvé sa:

Code : Tout sélectionner

; English forum: http://www.purebasic.fr/english/viewtopic.php?t=13417&postdays=0&postorder=asc&start=15
; Author: Christian (updated for PB 4.00 by Andre)
; Date: 22. December 2004
; OS: Windows
; Demo: No


; Author: Christian
; Date: 22. December 2004

; --> This is needed for PB's drawing functions to work
Structure PBDrawingStruct
  Type.l
  WindowHandle.l
  DC.l
  ReleaseProcedure.l
EndStructure
Global mydraw.PBDrawingStruct
mydraw\Type = 1

; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;                      Procedures
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

; --> Windowcallback
Procedure myWindowCallback(hwnd, msg, wparam, lparam)
  result = #PB_ProcessPureBasicEvents
  Select msg
  Case #WM_DRAWITEM
    ; -- Get handle and DeviceContext
    *lpdis.DRAWITEMSTRUCT = lparam
    mydraw\WindowHandle = *lpdis\hwndItem
    hDC = GetDC_(mydraw\WindowHandle)
    
    ; -- Get GadgetRect
    XPos = *lpdis\rcItem\left
    YPos = *lpdis\rcItem\top
    Width = *lpdis\rcItem\right-*lpdis\rcItem\left
    Height = *lpdis\rcItem\bottom-*lpdis\rcItem\top
    
    ; -- Get font information and GadgetText
    GadgetFont = SendMessage_(mydraw\WindowHandle, #WM_GETFONT, 0, 0)
    GetObject_(GadgetFont, SizeOf(LOGFONT), @lf.LOGFONT)
    FontHeight.l = Abs(lf\lfHeight)
    
    GadgetText.s = Space(1000)
    GetWindowText_(mydraw\WindowHandle, @GadgetText, 1000)
    
    ; -- Start with OwnerDrawing
    Select *lpdis\CtlType
    Case #ODT_BUTTON
      ; -- Draw selected/pushed button
      If *lpdis\itemState & #ODS_SELECTED
        If StartDrawing(mydraw)
          ; -- Border
          LineXY(XPos, YPos, Width, 0, GetSysColor_(3))
          LineXY(XPos, YPos, 0, Height - 1, GetSysColor_(3))
          LineXY(XPos + Width, YPos, XPos + Width, YPos + Height - 1, GetSysColor_(5))
          LineXY(XPos, YPos + Height - 1, XPos + Width, YPos + Height - 1, GetSysColor_(5))
          
          ; -- BackgroundColor
          Box(XPos + 1, YPos + 1, Width - 1, Height - 2, GetSysColor_(4))
          
          ; -- Text
          DrawingMode(1) : FrontColor(RGB(0, 0, 0))
          DrawingFont(GadgetFont)
          
          DrawText((Width - XPos - TextWidth(GadgetText))/2 + 1, (Height - YPos - FontHeight)/2 + 1, GadgetText)
          StopDrawing()
        EndIf
      Else
        ; -- Draw normal button
        If StartDrawing(mydraw)
          ; -- Border
          LineXY(XPos, YPos, Width, 0, GetSysColor_(5))
          LineXY(XPos, YPos, 0, Height - 1, GetSysColor_(5))
          LineXY(XPos + Width, YPos, XPos + Width, YPos + Height - 1, GetSysColor_(3))
          LineXY(XPos, YPos + Height - 1, XPos + Width, YPos + Height - 1, GetSysColor_(3))
          
          ; -- BackgroundColor
          Box(XPos + 1, YPos + 1, Width - 1, Height - 2, GetSysColor_(4))
          
          ; -- Text
          DrawingMode(1) : FrontColor(RGB(0, 0, 0))
          DrawingFont(GadgetFont)
          
          DrawText((Width - XPos - TextWidth(GadgetText))/2, (Height - YPos - FontHeight)/2, GadgetText)
          StopDrawing()
        EndIf
      EndIf
      If *lpdis\itemState & #ODS_FOCUS
        ; -- Draw the FocusRect
        *lpdis\rcItem\left + 3
        *lpdis\rcItem\top + 3
        *lpdis\rcItem\right - 3
        *lpdis\rcItem\bottom - 3
        DrawFocusRect_(hDC, *lpdis\rcItem)
      EndIf
      
    EndSelect
    result = #True
  EndSelect
  ProcedureReturn result
EndProcedure

; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;                      Program
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If OpenWindow(0, 0, 0, 480, 260,"Christians OwnerDrawn Buttons",#PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
  SetWindowCallback(@myWindowCallback())
  
  ButtonGadget(0, 50, 50, 200, 50, "Owner Drawn Button 1", #BS_OWNERDRAW)
  ButtonGadget(1, 50, 105, 200, 50, "Owner Drawn Button 2", #BS_OWNERDRAW)
  
  Repeat
    event = WaitWindowEvent()
    Select event
    Case #PB_Event_Gadget
      Select EventGadget()
      Case 0
        MessageRequester("Info", "Button 1 pressed!", 0)
        
      Case 1
        MessageRequester("Info", "Button 2 pressed!", 0)
      EndSelect
    EndSelect
  Until event = #PB_Event_CloseWindow
EndIf
End
Mais marche pas OOOOOUUUUUUAAAAAAIIIIIIIIIIIIIIINNNNNNNNNNNNNNNNNNNNNNNN !!!!!!!!!!!!!!

Sa fait quoi au juste ?
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 »

Est-ce que se serais possible de convertire sa en 4.50 :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Répondre