PureBasic

Forums PureBasic
Nous sommes le Ven 20/Sep/2019 0:14

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 3 messages ] 
Auteur Message
 Sujet du message: Bug OptionGadget et Textgadget(4.40)
MessagePosté: Lun 18/Jan/2010 18:54 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8750
Voilà ce que je considère comme un bug concernant les OptionGadget mélées aux TextGadget

Lorsque l'on ordonne son code dans l'ordre de ce qui apparait dans l'interface d'un logiciel, c'est plus clair, du coup lorsque je veux créer de multiples options
mais n'en sélectionner qu'une à chaque fois, je créés des "titres" puis les options. le soucis est que si je mets les titres dans l'ordre genre : Titre1 option1 option2 titre2 option 3 option4, et bien cela ne me permet plus de n'avoir qu'un choix possible..

Exemple qui sera plus parlant

Code:
Enumeration
  #Window_0: #Option_0: #Option_1: #Option_2: #Option_3: #text_4: #text_5: #String
EndEnumeration

Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 485, 392, 135, 196, "Bug ?", #PB_Window_SystemMenu|#PB_Window_TitleBar)
    TextGadget(#text_4, 20, 20, 80, 15, "Option 1", #PB_Text_Center) ; Mon 1er titre
    OptionGadget(#Option_0, 25, 45, 115, 15, "Gadget_0")
    OptionGadget(#Option_1, 25, 65, 115, 15, "Gadget_1")
    TextGadget(#text_5, 25, 95, 80, 15, "Option 2", #PB_Text_Center)  ; Mon second titre
    OptionGadget(#Option_2, 25, 120, 115, 15, "Gadget_2")
    OptionGadget(#Option_3, 25, 140, 70, 20, "Gadget_3")
    SetGadgetState(#Option_0,1)
    StringGadget(#String, 10, 165, 110, 20, "", #PB_String_ReadOnly|#ES_CENTER)
    SetGadgetText(#String,GetGadgetText(#Option_0))
  EndIf
EndProcedure

OpenWindow_Window_0()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #Option_0
          SetGadgetText(#String,GetGadgetText(#Option_0))
        Case #Option_1
          SetGadgetText(#String,GetGadgetText(#Option_1))
        Case #Option_2
          SetGadgetText(#String,GetGadgetText(#Option_2))
        Case #Option_3
          SetGadgetText(#String,GetGadgetText(#Option_3))
        Case #text_4
        Case #text_5
      EndSelect
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          CloseWindow(#Window_0)
          Break
      EndSelect
  EndSelect
ForEver


Ici si on choisi gadget2, on s'aperçoit que le 1er gadget reste aussi selectionné

alors que si on remplace la section openwindow... par

Code:
Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 485, 392, 135, 196, "Bug ?", #PB_Window_SystemMenu|#PB_Window_TitleBar)
   
    OptionGadget(#Option_0, 25, 45, 115, 15, "Gadget_0")
    OptionGadget(#Option_1, 25, 65, 115, 15, "Gadget_1")
    OptionGadget(#Option_2, 25, 120, 115, 15, "Gadget_2")
    OptionGadget(#Option_3, 25, 140, 70, 20, "Gadget_3")
    TextGadget(#text_4, 20, 20, 80, 15, "Option 1", #PB_Text_Center) ; On place les textes groupés sous les options
    TextGadget(#text_5, 25, 95, 80, 15, "Option 2", #PB_Text_Center) ; On place les textes groupés sous les options
    SetGadgetState(#Option_0,1)
    StringGadget(#String, 10, 165, 110, 20, "", #PB_String_ReadOnly|#ES_CENTER)
    SetGadgetText(#String,GetGadgetText(#Option_0))
  EndIf
EndProcedure


On voit que cette fois ça marche..

Donc ma question.. Bug ou fait exprès ?
Si c'est fait exprés, il serait bon d'ajouter ce détail à la doc. J'ai mis qques minutes à comprendre pourquoi ça me faisait ça dans l'interface de mon soft.
Voilou

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.4x / 5.6x
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
RESIZER GOLD : Mon logiciel de redimensionnement par lot 100% PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Bug OptionGadget et Textgadget(4.40)
MessagePosté: Lun 18/Jan/2010 19:41 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
la soluce consciste a grouper les gadgets par genre !!
pour reprendre ton exemple 1 :

Code:
Enumeration
    #Window_0: #Option_0: #Option_1: #Option_2: #Option_3: #text_4: #text_5: #String
    #Gadget
EndEnumeration

Procedure OpenWindow_Window_0()
    If OpenWindow(#Window_0, 485, 392, 135, 196, "Bug ?", #PB_Window_SystemMenu|#PB_Window_TitleBar)
          TextGadget(#text_4, 20, 20, 80, 15, "Option 1", #PB_Text_Center) ; Mon 1er titre
            TextGadget(#text_5, 25, 95, 80, 15, "Option 2", #PB_Text_Center)  ; Mon second titre
        OptionGadget(#Option_0, 25, 45, 115, 15, "Gadget_0")
        OptionGadget(#Option_1, 25, 65, 115, 15, "Gadget_1")
       
        OptionGadget(#Option_2, 25, 120, 115, 15, "Gadget_2")
        OptionGadget(#Option_3, 25, 140, 70, 20, "Gadget_3")
        SetGadgetState(#Option_0,1)
        StringGadget(#String, 10, 165, 110, 20, "", #PB_String_ReadOnly|#ES_CENTER)
        SetGadgetText(#String,GetGadgetText(#Option_0))
    EndIf
EndProcedure

OpenWindow_Window_0()

Repeat
    Select WaitWindowEvent()
        Case #PB_Event_Gadget
            Select EventGadget()
                 
                Case #Option_0
                    SetGadgetText(#String,GetGadgetText(#Option_0))
                Case #Option_1
                    SetGadgetText(#String,GetGadgetText(#Option_1))
                Case #Option_2
                    SetGadgetText(#String,GetGadgetText(#Option_2))
                Case #Option_3
                    SetGadgetText(#String,GetGadgetText(#Option_3))
                Case #text_4
                Case #text_5
            EndSelect
        Case #PB_Event_CloseWindow
            Select EventWindow()
                Case #Window_0
                    CloseWindow(#Window_0)
                    Break
            EndSelect
    EndSelect
ForEver



perso ton truc ne me serai pas arrivé , car j'ai tendance a grouper les gadgets par famille !

;)

toutefois, ils doit s'agir d'un bug, je pense :)
car ici le titre se comporte comme un containergadget
( en principe les option devrai etre toujour dans un container .... )


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Bug OptionGadget et Textgadget(4.40)
MessagePosté: Lun 18/Jan/2010 19:46 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8750
oui oui, d'ou mon second exemple qui fonctionne aussi, mais c'est vrai que c'est génant, moi je prefères mettre mes gadgets de façon visuel...
Pour info dans un containergadget, le problème persiste. :?

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.4x / 5.6x
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
RESIZER GOLD : Mon logiciel de redimensionnement par lot 100% PB


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 3 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye