Item dans un panel qui ne s'affiche pas

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Item dans un panel qui ne s'affiche pas

Message par microdevweb »

Bonjour,

J'ajoute dynamiquement des items dans un panel mais ces derniers ne s’affichent pas

Code : Tout sélectionner

Procedure AddScene()
      monJeux\Nbr_Niveau+1
      AddElement(monJeux\mesScene())
      *ScenEnCours=@monJeux\mesScene()
      monJeux\mesScene()\Nom$="Scene "+Str(monJeux\Nbr_Niveau)
      OpenGadgetList(#Panel)
      larg=monJeux\Larg
      Haut=monJeux\Haut
      X=GadgetWidth(#Panel)/2
      X-(larg/2)
      Y=GadgetHeight(#Panel)/2
      Y-(Haut/2)
      AddGadgetItem(#Panel,monJeux\Nbr_Niveau-1,monJeux\mesScene()\Nom$)
      SetGadgetItemData(#Panel,monJeux\Nbr_Niveau-1,@monJeux\mesScene())
      monJeux\mesScene()\ID_Canvas=CanvasGadget(#PB_Any,X,Y,larg,Haut)
      CloseGadgetList()
      DessineGrille()
EndProcedure
Merci d'avance
Dernière modification par microdevweb le mar. 22/avr./2014 15:49, modifié 2 fois.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Item dans un panel qui ne s'affiche pas

Message par microdevweb »

Je répond moi même à ma question
Si l'on crée un Panel sans lui ajouter préalablement un item, les item ajoute après sont invisible

exemple qui ne fonctionne pas:

Code : Tout sélectionner

OpenWindow(0,0,0,800,600,"teste",#PB_Window_SystemMenu)
PanelGadget(1,0,200,800,200)
ButtonGadget(2,100,100,100,30,"Teste")
Repeat
      Event=WaitWindowEvent()
      If Event=#PB_Event_Gadget
            If EventGadget()=2
                  AddGadgetItem(1,-1,"Teste")
            EndIf
      EndIf
Until Event=#PB_Event_CloseWindow
exemple qui fonctionne:

Code : Tout sélectionner

OpenWindow(0,0,0,800,600,"teste",#PB_Window_SystemMenu)
ButtonGadget(2,100,100,100,30,"Teste")
Repeat
      Event=WaitWindowEvent()
      If Event=#PB_Event_Gadget
            If EventGadget()=2
                  If IsGadget(1)=0
                        PanelGadget(1,0,200,800,200)
                        AddGadgetItem(1,-1,"Teste")
                  Else
                        OpenGadgetList(1)
                        AddGadgetItem(1,-1,"Teste")
                  EndIf
            EndIf
      EndIf
Until Event=#PB_Event_CloseWindow
Voila cela sera peut'être utile à quelqu’un
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [RESOLUS PAR MOI] Item dans un panel qui ne s'affiche pa

Message par Backup »

la doc dit :
Avant de pouvoir ajouter des gadgets, il est nécessaire d'appeler la commande AddGadgetItem()
pour ajouter au moins un onglet.
Les prochains gadgets créés le seront automatiquement sur le dernier onglet.
il est vrait que cela aurai été plus clair si c'etait ecrit
Avant de pouvoir ajouter des gadgets dans le panel ou un onglet suplémentaire , il est nécessaire d'appeler la commande AddGadgetItem()
pour ajouter au moins un onglet.
Les prochains gadgets créés le seront automatiquement sur le dernier onglet.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [RESOLUS PAR MOI] Item dans un panel qui ne s'affiche pa

Message par Backup »

....
Dernière modification par Backup le mar. 19/août/2014 9:39, modifié 1 fois.
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: [RESOLUS PAR MOI] Item dans un panel qui ne s'affiche pa

Message par microdevweb »

Mais j'ai un autre problème qui est pas piquer des vers

j'ai un bouton de toolbar par énumération comme suit

Code : Tout sélectionner

ToolBarImageButton(#Principale_Menu_Delete_FormeS,ImageID(#IMG_DELETE),#PB_ToolBar_Normal)
si le disable ce bouton alors l'item ne s’affiche pas
Voir enumération

Code : Tout sélectionner

Enumeration 
      #Fen_Principale
      #Principale_SrollArea
      #Principale_Canvas
      #Principale_Menu
      #Principale_Menu_Nouveau
      #Principale_Menu_Ouvre
      #Principale_Menu_Ferme
      #Principale_Menu_Sauve
      #Principale_Menu_Quitter
      #Principale_Menu_Nouvelle_Scene
      #Principale_Menu_Dessine_Rectangle
      #Principale_Menu_Delete_FormeS
      #Principale_Toolbar
      #Principale_Toolbar_Nouveau
      #Principale_Toolbar_Sauve
      #Principale_Toolbar_Ferme
      #Principale_Toolbar_Ouvre
      #Fen_Nouveau
      #Nouveau_Txt0
      #Nouveau_Txt1
      #Nouveau_Sai_Larg
      #Nouveau_Sai_Haut
      #Nouveau_Bt_Valider
      #Nouveau_Bt_Annuler
      #Font_Time_14
      #Font_Time_12
      #Panel
      #IMG_NEW
      #IMG_RECTANGLE
      #IMG_LINE
      #Principale_Menu_Dessine_Line
      #IMG_ARROW
      #Principale_Menu_Modif
      #IMG_DELETE
      #IMG_GRILLE
      #Principale_Menu_Active_Grille
      #IMG_PACMAN
      #IMG_PACMAN_ICO
      #Principale_Menu_Player
      #IMG_PLAYER
      #IMG_BUILD
      #IMG_ROTATE
      #Principale_Menu_Build
      #Principale_Menu_Rotate_Player
      #IMG_CHEESE
      #Principale_Menu_Place_Cheese
      #IMG_DELETE_CHESSE
      #Principale_Menu_Delete_Cheese
      #IMG_NUMBER
      #Principale_Menu_Place_Point
      #FontScore
EndEnumeration
Si je ne crée pas le bouton mais laisse le

Code : Tout sélectionner

DisableToolBarButton(#Principale_Toolbar,#Principale_Menu_Delete_FormeS,1)
cela fonctionne



Brrrrrrrr à ne rien y comprendre
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Répondre