bonjour a tous
comment faire pour savoir si le string gadget 0 ou 1 a été sélectionné si oui on le colore en jaune a l'aide du bouton colore?
mon code
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
;VARIABLES COULEUR
colorblanc=$FFFFFF ;couleur blanche
colorjaune=$00FFFF ;couleur jaune
;- CONSTANTE WINDOW
;
Enumeration
#Window_0
EndEnumeration
;- CONSTANTES GADGET
;
Enumeration
#String_0
#String_1
#Button_2
EndEnumeration
;ouvre une fenetre et la color en blanc
If OpenWindow(#Window_0, 216, 0, 600, 300, "TOURNEE", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered )And CreateGadgetList(WindowID(0))
SetWindowColor(#Window_0, colorblanc)
; céation de la liste des gadgets puis céation des gadgets
If CreateGadgetList(WindowID(#Window_0))
StringGadget(#String_0, 40, 30, 40, 20, "")
StringGadget(#String_1, 120, 30, 50, 20, "")
ButtonGadget(#Button_2, 270, 20, 60, 20, "couleur")
SetGadgetColor(#String_0, #PB_Gadget_BackColor, colorblanc)
SetGadgetColor(#String_1, #PB_Gadget_BackColor, colorblanc)
EndIf;fi création des gadgets
EndIf ;fin de la céation de la fenetre et des gadgets
;*******************************************
; BOUCLE PRINCIPALE ATTENTE D'UN EVENEMENT
;*******************************************
Repeat
Evenement = WaitWindowEvent()
If EventType() = #PB_EventType_LeftClick ;teste si clik a droite souris
SetGadgetColor(#String_0, #PB_Gadget_BackColor, colorjaune) ; si oui colore en jaune #string_0
EndIf
;*********************
Until Evenement = #PB_Event_CloseWindow ;FIN BOUCLE PRINCIPALE
;*********************
End ;FIN DU PROGRAM
string gadget
Comme ceci cela fonctionne, mais il faudrai arranger ton code sur la gestion des evènements, la c'est trop broullion.
Code : Tout sélectionner
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
;VARIABLES COULEUR
colorblanc=$FFFFFF ;couleur blanche
colorjaune=$00FFFF ;couleur jaune
;- CONSTANTE WINDOW
;
Enumeration
#Window_0
EndEnumeration
;- CONSTANTES GADGET
;
Enumeration
#String_0
#String_1
#Button_2
EndEnumeration
;ouvre une fenetre et la color en blanc
If OpenWindow(#Window_0, 216, 0, 600, 300, "TOURNEE", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered )And CreateGadgetList(WindowID(0))
SetWindowColor(#Window_0, colorblanc)
; céation de la liste des gadgets puis céation des gadgets
If CreateGadgetList(WindowID(#Window_0))
StringGadget(#String_0, 40, 30, 40, 20, "")
StringGadget(#String_1, 120, 30, 50, 20, "")
ButtonGadget(#Button_2, 270, 20, 60, 20, "couleur")
SetGadgetColor(#String_0, #PB_Gadget_BackColor, colorblanc)
SetGadgetColor(#String_1, #PB_Gadget_BackColor, colorblanc)
EndIf;fi création des gadgets
EndIf ;fin de la céation de la fenetre et des gadgets
;*******************************************
; BOUCLE PRINCIPALE ATTENTE D'UN EVENEMENT
;*******************************************
Repeat
Evenement = WaitWindowEvent()
If Evenement=#PB_Event_Gadget
If EventGadget()=#String_0
SetGadgetColor(#String_0, #PB_Gadget_BackColor, colorjaune) ; si oui colore en jaune #string_0
Else
SetGadgetColor(#String_0, #PB_Gadget_BackColor, -1) ; si oui colore en jaune #string_0
EndIf
If EventGadget()=#String_1
SetGadgetColor(#String_1, #PB_Gadget_BackColor, colorjaune) ; si oui colore en jaune #string_0
Else
SetGadgetColor(#String_1, #PB_Gadget_BackColor, -1) ; si oui colore en jaune #string_0
EndIf
EndIf
If EventType() = #PB_EventType_LeftClick ;teste si clik a droite souris
SetGadgetColor(#String_0, #PB_Gadget_BackColor, colorjaune) ; si oui colore en jaune #string_0
EndIf
;*********************
Until Evenement = #PB_Event_CloseWindow ;FIN BOUCLE PRINCIPALE
;*********************
-
- Messages : 7
- Inscription : dim. 13/août/2006 18:08
BONJOUR A TOUS
En fait j'essai de concevoir un planning annuelle a la semaine.
chaque string représente une semaine
chaque string peut etre coloré
chaque couleur represente une tache differente
Je debute mais je teste les possibilités dePB et surtout les miennes
J'ai trouvé moi aussi une solution a mon problemme est-elle bonne ?
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
;VARIABLES COULEUR
colorblanc=$FFFFFF ;couleur blanche
colorjaune=$00FFFF ;couleur jaune
;- CONSTANTE WINDOW
;
Enumeration
#Window_0
EndEnumeration
;- CONSTANTES GADGET
;
Enumeration
#String_0
#String_1
#Button_2
EndEnumeration
;ouvre une fenetre et la color en blanc
If OpenWindow(#Window_0, 216, 0, 600, 300, "TOURNEE", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered )
SetWindowColor(#Window_0, colorblanc)
; céation de la liste des gadgets puis céation des gadgets
If CreateGadgetList(WindowID(#Window_0))
StringGadget(#String_0, 40, 30, 40, 20, "")
StringGadget(#String_1, 120, 30, 50, 20, "")
ButtonGadget(#Button_2, 270, 20, 60, 20, "couleur")
SetGadgetColor(#String_0, #PB_Gadget_BackColor, colorblanc)
SetGadgetColor(#String_1, #PB_Gadget_BackColor, colorblanc)
EndIf;fi création des gadgets
EndIf ;fin de la céation de la fenetre et des gadgets
;*******************************************
; BOUCLE PRINCIPALE ATTENTE D'UN EVENEMENT
;*******************************************
boucleprincipale:
boite=-1 ;variable de sélection de d'un string que j'appelle boite
Repeat
Select WindowEvent() ;recherche de la boite sélectioner
Case #PB_Event_Gadget
Select EventGadget()
Case 0
boite=0
Case 1
boite=1
EndSelect
Case #PB_Event_CloseWindow ;fermeture de la fenetre
End ;fin programme
EndSelect
Until boite=0 Or boite=1 ;ne peut sortir de la boucle que si une boite a le focus
Repeat
Select WindowEvent() ;recherche du bouton cliquer il colore en jaune
Case #PB_Event_Gadget
Select EventGadget()
Case 2
If boite=0
SetGadgetColor(#String_0, #PB_Gadget_BackColor, colorjaune)
boite=-1
EndIf
If boite=1
SetGadgetColor(#String_1, #PB_Gadget_BackColor, colorjaune)
boite=-1
EndIf
EndSelect
Case #PB_Event_CloseWindow ;fermeture de la fenetre
End ;fin programme
EndSelect
Until boite=-1 ;ne peut sotir de la boucle que si une boite est colorée
Gosub boucleprincipale
Return
End

En fait j'essai de concevoir un planning annuelle a la semaine.
chaque string représente une semaine
chaque string peut etre coloré
chaque couleur represente une tache differente
Je debute mais je teste les possibilités dePB et surtout les miennes
J'ai trouvé moi aussi une solution a mon problemme est-elle bonne ?
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
;VARIABLES COULEUR
colorblanc=$FFFFFF ;couleur blanche
colorjaune=$00FFFF ;couleur jaune
;- CONSTANTE WINDOW
;
Enumeration
#Window_0
EndEnumeration
;- CONSTANTES GADGET
;
Enumeration
#String_0
#String_1
#Button_2
EndEnumeration
;ouvre une fenetre et la color en blanc
If OpenWindow(#Window_0, 216, 0, 600, 300, "TOURNEE", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered )
SetWindowColor(#Window_0, colorblanc)
; céation de la liste des gadgets puis céation des gadgets
If CreateGadgetList(WindowID(#Window_0))
StringGadget(#String_0, 40, 30, 40, 20, "")
StringGadget(#String_1, 120, 30, 50, 20, "")
ButtonGadget(#Button_2, 270, 20, 60, 20, "couleur")
SetGadgetColor(#String_0, #PB_Gadget_BackColor, colorblanc)
SetGadgetColor(#String_1, #PB_Gadget_BackColor, colorblanc)
EndIf;fi création des gadgets
EndIf ;fin de la céation de la fenetre et des gadgets
;*******************************************
; BOUCLE PRINCIPALE ATTENTE D'UN EVENEMENT
;*******************************************
boucleprincipale:
boite=-1 ;variable de sélection de d'un string que j'appelle boite
Repeat
Select WindowEvent() ;recherche de la boite sélectioner
Case #PB_Event_Gadget
Select EventGadget()
Case 0
boite=0
Case 1
boite=1
EndSelect
Case #PB_Event_CloseWindow ;fermeture de la fenetre
End ;fin programme
EndSelect
Until boite=0 Or boite=1 ;ne peut sortir de la boucle que si une boite a le focus
Repeat
Select WindowEvent() ;recherche du bouton cliquer il colore en jaune
Case #PB_Event_Gadget
Select EventGadget()
Case 2
If boite=0
SetGadgetColor(#String_0, #PB_Gadget_BackColor, colorjaune)
boite=-1
EndIf
If boite=1
SetGadgetColor(#String_1, #PB_Gadget_BackColor, colorjaune)
boite=-1
EndIf
EndSelect
Case #PB_Event_CloseWindow ;fermeture de la fenetre
End ;fin programme
EndSelect
Until boite=-1 ;ne peut sotir de la boucle que si une boite est colorée
Gosub boucleprincipale
Return
End
relit bien ceci ! 4 fois !!Dr. Dri a écrit : PS. pour poster ton code, mets le entre deux balises de code...[/code]Code : Tout sélectionner
[code]

pour faire afficher ton code sur ce forum
dans l'edition du message :
tu commence par cliquer le bouton 'Code' tu fais control+C, control +V
pour coller ton code APRES cette balise que tu viens de poser a l'aide du bouton 'Code ' !!
puis tu reclique sur le bouton 'CODE'
cela posera la balise de fin de code [/ code]
ce qui aura pour effect de mettre ton code dans un cadre special !!
qui nous permet de mieux relire ton code, et aussi d'éviter
que certain signe ne se transforme en Smiley
comme un 8 suivi d'une paranthese par exemple
sans balise (7,8)
avec balise
Code : Tout sélectionner
(7,8)