Options dans les gadgets [resolut]

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Options dans les gadgets [resolut]

Message 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 :oops:
Dernière modification par MLD le mar. 20/avr./2010 17:42, modifié 1 fois.
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Options dans les gadgets

Message 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.
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Options dans les gadgets

Message par MLD »

Merci PatricK81
Mais ce n'est pas ma question
est'il possible modifier l'option dynamiquement sans réecrire le gadget
Michel
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Options dans les gadgets

Message 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.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Options dans les gadgets

Message par G-Rom »

avec une macro tu devrais t'en sortir.

@+
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Options dans les gadgets

Message 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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Options dans les gadgets

Message par MLD »

Hyoupy :lol: Bonsoir Soldat

C'est exactement la bonne idée, "Quelle" va bien me servir, et aussi a d'autres :lol:

Merci
Michel
choubibar
Messages : 21
Inscription : jeu. 18/mars/2010 16:21

Re: Options dans les gadgets [resolut]

Message 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
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Options dans les gadgets [resolut]

Message 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. :mrgreen:
Bonne journée :wink:
Michel
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Options dans les gadgets [resolut]

Message 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??
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Re: Options dans les gadgets [resolut]

Message 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
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Options dans les gadgets [resolut "pas vraiment"]

Message par MLD »

Salut Geo Trouvpatou :D

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 :oops:
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. :roll:
Bonne soirée :D
Michel
Répondre