Page 1 sur 1
Options dans les gadgets [resolut]
Publié : mar. 20/avr./2010 9:19
par MLD
Bonjour a tous
Jai par exemple ceci
StringGadget(#Gadget, x, y, Largeur, Hauteur, Texte$, #PB_String_BorderLess)
Je souhaite hinibé le #PB_String_BorderLess sans écrire:
StringGadget(#Gadget, x, y, Largeur, Hauteur, Texte$)
cela est'il possible
Je n'ai rien vu dans la doc, ou j'ai mal lu

Re: Options dans les gadgets
Publié : mar. 20/avr./2010 10:05
par Patrick88
Syntaxe
Resultat = StringGadget(#Gadget, x, y, Largeur, Hauteur, Texte$ [, Options])
pour toutes les commandes lorsque l'option ou le paramètre est placé entre des crochets, il est facultatif.
Re: Options dans les gadgets
Publié : mar. 20/avr./2010 10:20
par MLD
Merci PatricK81
Mais ce n'est pas ma question
est'il possible modifier l'option dynamiquement sans réecrire le gadget
Michel
Re: Options dans les gadgets
Publié : mar. 20/avr./2010 12:02
par Ar-S
Je ne pense pas que nativement tu puisses. A mon avis soit tu te contente de jouer avec les couleurs du gadget, soit tu caches/affiches 2 fois le même gadgets
l'un avec les bordures, l'autre sans.
Re: Options dans les gadgets
Publié : mar. 20/avr./2010 14:03
par G-Rom
avec une macro tu devrais t'en sortir.
@+
Re: Options dans les gadgets
Publié : mar. 20/avr./2010 17:20
par Le Soldat Inconnu
Je trouve l'idée pas mauvaise moi.
Regarde cet exemple
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 4.40
;
; Explication du programme :
; Pour faire des programmes de test rapidement, il ne reste qu'a rajouter les gadgets et la gestion des évènements.
Procedure SetgadgetOption(Gadget, Option)
x = GadgetX(Gadget)
y = GadgetY(Gadget)
Largeur = GadgetWidth(Gadget)
Hauteur = GadgetHeight(Gadget)
Select GadgetType(Gadget)
Case #PB_GadgetType_String
StringGadget(Gadget, x, y, Largeur, Hauteur, GetGadgetText(Gadget), Option)
; mettre ici pour les autres type de gadget
EndSelect
EndProcedure
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 300, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0
End
EndIf
StringGadget(1, 20, 30, 50, 24, "Blabla")
ButtonGadget(2, 20, 60, 200, 25, "StringGadget sans bordure")
ButtonGadget(3, 20, 90, 200, 25, "StringGadget avec bordure")
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Menu
Select EventMenu() ; Menus
EndSelect
Case #PB_Event_Gadget
Select EventGadget() ; Gadgets
Case 2
SetgadgetOption(1, #PB_String_BorderLess)
Case 3
SetgadgetOption(1, 0)
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
Re: Options dans les gadgets
Publié : mar. 20/avr./2010 17:34
par MLD
Hyoupy

Bonsoir Soldat
C'est exactement la bonne idée, "Quelle" va bien me servir, et aussi a d'autres
Merci
Michel
Re: Options dans les gadgets [resolut]
Publié : mar. 20/avr./2010 17:58
par choubibar
Salut,
ça m'a pris 2 minutes pour avoir une autre approche qui fonctionne également
@+
Code : Tout sélectionner
If OpenWindow(0, 0, 0,80,80,"",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_TitleBar )
i= 0; ou i=131072=#PB_String_Borderless
StringGadget(1,15,20,60,20,"test",i)
etat$="avec bordure" ; ou sans bordure
ButtonGadget(2,10,50,70,20,etat$)
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
If EventGadget()=2
If i=0:i=#PB_String_BorderLess:etat$="sans bordure":i+1:EndIf
If i=#PB_String_BorderLess:i=0:etat$="avec bordure":i+1:EndIf
i-1
SetGadgetText(2,etat$)
StringGadget(1,15,20,60,20,"test",i)
EndIf
Case #PB_Event_CloseWindow:Quit = 1
EndSelect
Until Quit = 1
Re: Options dans les gadgets [resolut]
Publié : mer. 21/avr./2010 8:03
par MLD
Salut choubibar
Dans ton code tu écrit deux fois la même chose, en locurence le gadget, imagine si tu a comme c'est le cas pour moi 20 "stringGadget".
Dans le code du soldat tu passe tous les "stringGadget" que tu veux sans les écrires de nouveaux.
Bonne journée
Michel
Re: Options dans les gadgets [resolut]
Publié : mer. 21/avr./2010 9:30
par MLD
Salut a tous
pour ceux que ça intéressent, une petite démo
Appuyez sur la touche entrée, pour faire défiler, ou cliquez sur le texte pour sélectionner.
Code : Tout sélectionner
;option des gadgets
Enumeration
#Window_0 = 1
#string_1 = 2
#string_2 = 3
#string_3 = 4
EndEnumeration
Procedure colorstring(gadget)
x = GadgetX(gadget)
y = GadgetY(gadget)
Largeur = GadgetWidth(gadget)
Hauteur = GadgetHeight(gadget)
If EventType() = #PB_EventType_Focus
StringGadget(3000, x, y, Largeur, Hauteur, GetGadgetText(gadget),0);3000 est un numéro bidon pour simulé la création d'un nouveau gadget
SetGadgetColor(3000,#PB_Gadget_BackColor,$39E3C6)
EndIf
If EventType() = #PB_EventType_LostFocus
StringGadget(3000, x, y, Largeur, Hauteur, GetGadgetText(gadget),#PB_String_BorderLess)
SetGadgetColor(3000,#PB_Gadget_BackColor,$B7D9D9)
EndIf
EndProcedure
OpenWindow (#Window_0, 388, 23, 414, 182, "Test" , #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_WindowCentered )
AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, 0) ; menu bidon pour traitement du clavier dans les string gadgjet
StringGadget(#string_1, 20, 20, 100,20,"AAAAAAAA",#PB_String_BorderLess)
SetActiveGadget(#string_1)
StringGadget(#string_2, 20, 60, 100,20,"BBBBBBBBB",#PB_String_BorderLess)
StringGadget(#string_3, 20, 100, 100,20,"CCCCCCCCC",#PB_String_BorderLess)
For y = 2 To 4
SetGadgetColor(y,#PB_Gadget_BackColor,$E0E0E0)
SetGadgetColor(y,#PB_Gadget_FrontColor,$EA4F07)
Next
Repeat
Event = WaitWindowEvent()
Select EventMenu()
Case 0
If GetActiveGadget() = #string_1
SetActiveGadget(#string_2)
Else
If GetActiveGadget() = #string_2
SetActiveGadget(#string_3)
Else
If GetActiveGadget() = #string_3
SetActiveGadget(#string_1)
EndIf
EndIf
EndIf
EndSelect
If Event = #PB_Event_Gadget
Select EventGadget()
Case #string_1
colorstring(#string_1)
Case #string_2
colorstring(#string_2)
Case #string_3
colorstring(#string_3)
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
Pour la sélection ok; mais si ons fait une modif du texte la couleur de fond pose un problème??
Re: Options dans les gadgets [resolut]
Publié : jeu. 22/avr./2010 11:26
par Geo Trouvpatou
Salut.
MLD chez moi ton code ne fonctionne pas.
Boucle infini et obliger d'utiliser le Gestionnaire de tâches pour stopper le bidule.
[EDIT]Je viens de m'apercevoir que cela fonctionne bien en PB4.40 mais pas en PB4.50b2
Re: Options dans les gadgets [resolut "pas vraiment"]
Publié : jeu. 22/avr./2010 17:13
par MLD
Salut Geo Trouvpatou
pas essayer avec le 4.5.
De toute manière ce code n'est pas trés bon car il revient a mettre un gadget sur un gadget
En VB aucun problème pour faire cela. En PB c'est fortement déconseillé pour le moment. Pourtant cela apporterait de nombreuses possibilités supplémentaires.
Bonne soirée
Michel