Page 1 sur 1

string gadget

Publié : dim. 13/août/2006 19:37
par joellevino
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

Publié : lun. 14/août/2006 7:50
par bernard13
il te faut la commande SetGadgetState(#Gadget, Etat) pour savoir si le gadget est selectionner sur 0 ou 1

Publié : lun. 14/août/2006 8:31
par julien
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
;*********************

Publié : mer. 16/août/2006 1:07
par joellevino
BONJOUR A TOUS :P

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

Publié : mer. 16/août/2006 13:31
par Backup
Dr. Dri a écrit : PS. pour poster ton code, mets le entre deux balises de code...

Code : Tout sélectionner

[code]
[/code]
relit bien ceci ! 4 fois !! :lol:

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)