Mai 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | Calendrier |
|
| | Problème avec CONTAINER_TAB | |
| | Auteur | Message |
---|
Klaus
Nombre de messages : 12301 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Problème avec CONTAINER_TAB Lun 11 Déc 2023 - 16:17 | |
| Regardez le code suivant: - Code:
-
' probleme_container_tab.bas
label ShowTab
caption 0,"Paboramic Version "+version$
Container_Tab 100 : width 100,width_client(0) : height 100,height_client(0) tab 1 : caption 1,"TAB 1" : parent 1,100 on_show 1,ShowTab alpha 11 : parent 11,1 : top 11,10 : left 11,10 : caption 11,"TAB 1" tab 2 : caption 2,"TAB 2" : parent 2,100 alpha 12 : parent 12,2 : top 12,10 : left 12,10 : caption 12,"TAB 2" tab 3 : caption 3,"TAB 3" : parent 3,100 alpha 13 : parent 13,3 : top 13,10 : left 13,10 : caption 13,"TAB 3" end
ShowTab: show 1 return J'ai 3 TABs. Chaque TAB a un ALPHA donnant le nom du tab. Lors d'un appel d'un TAB par un clic gauche, l'évènement ON_SHOW se déclenche et la routine ShowTab est appelée. Cette toutine devrait afficher automatiquement le TAB 1. Or, elle ne fait rien (bien qu'elle soit appelée, j'ai vérifié). Et en cliquant sur TAB 1, ce TAB s'affiche, mais PAS son ALPHA § Il y a donc un double problème: 1. la commande SHOW, contrairement à la doc, ne marche pas sur les TABs. 2. le rappel d'un TAB, et ceci APRES l'exécution d'une commande SHOW, me montre plus les objets du TAB EDIT si je remplace la ligne dans la rouine ShowTab comme ceci: - Code:
-
ShowTab: if number_show<>1 then show 1 return alors le problème 2 ne se produit plus. Donc, je reformule mes deux problèmes: 1. la commande SHOW, contrairement à la doc, ne marche pas sur les TABs. 2. la comande SHOW appliquée au TAB actuellement affichén CACHE tous ses objets, mais garde le TAB lui-même affiché
Dernière édition par Klaus le Lun 11 Déc 2023 - 17:07, édité 1 fois | |
| | | Marc
Nombre de messages : 2397 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Problème avec CONTAINER_TAB Lun 11 Déc 2023 - 17:05 | |
| Bonsoir Klaus, Pour afficher un TAB, il faut utiliser MARK_ON (N). - Code:
-
Container_Tab 100 tab 1 : caption 1,"TAB 1" : parent 1,100 alpha 11 : parent 11,1 : top 11,10 : left 11,10 : caption 11,"TAB 1" tab 2 : caption 2,"TAB 2" : parent 2,100 alpha 12 : parent 12,2 : top 12,10 : left 12,10 : caption 12,"TAB 2" tab 3 : caption 3,"TAB 3" : parent 3,100 alpha 13 : parent 13,3 : top 13,10 : left 13,10 : caption 13,"TAB 3" pause 2000 mark_on 2
pause 2000 mark_on 1
end
| |
| | | Klaus
Nombre de messages : 12301 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec CONTAINER_TAB Lun 11 Déc 2023 - 17:10 | |
| Merci, Marc. C'est bizarre, car la doc dir bien que SHOW marche avec les FORMs et les TABs... Ceci dit, j'ai fait l'essai dans ma configuratin, et ça ne marche pas du tout: - Code:
-
' probleme_container_tab.bas
label ShowTab
caption 0,"Paboramic Version "+version$
Container_Tab 100 : width 100,width_client(0) : height 100,height_client(0) tab 1 : caption 1,"TAB 1" : parent 1,100 on_show 1,ShowTab alpha 11 : parent 11,1 : top 11,10 : left 11,10 : caption 11,"TAB 1" tab 2 : caption 2,"TAB 2" : parent 2,100 alpha 12 : parent 12,2 : top 12,10 : left 12,10 : caption 12,"TAB 2" tab 3 : caption 3,"TAB 3" : parent 3,100 alpha 13 : parent 13,3 : top 13,10 : left 13,10 : caption 13,"TAB 3" end
ShowTab: mark_on 1 return Plue généralement, comment peut-on interdire l'affichage de certains onglets, ou forcer l'affichage d'un onglet specifique lors du clic sur un onglet provisoirement interdit ? Car c'est cela que je veux obtenir... | |
| | | Marc
Nombre de messages : 2397 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Problème avec CONTAINER_TAB Lun 11 Déc 2023 - 17:54 | |
| - Citation :
- C'est bizarre, car la doc dir bien que SHOW marche avec les FORMs et les TABs...
Ah oui, effectivement, afficher un TAB fonctionne aussi avec SHOW. - Citation :
- Interdire l’affichage de certains onglets…
Oui, en changeant de parent vers un Container_Tab fantôme. - Code:
-
Container_Tab 100 : width 100,width_client(0) : height 100,height_client(0) tab 1 : caption 1,"TAB 1" : parent 1,100 alpha 11 : parent 11,1 : top 11,10 : left 11,10 : caption 11,"TAB 1" tab 2 : caption 2,"TAB 2" : parent 2,100 alpha 12 : parent 12,2 : top 12,10 : left 12,10 : caption 12,"TAB 2" tab 3 : caption 3,"TAB 3" : parent 3,100 alpha 13 : parent 13,3 : top 13,10 : left 13,10 : caption 13,"TAB 3"
' objet caché create_hide Container_Tab 999
' cacher l'onglet TAB 2 pause 2000 parent 2,999
' afficher l'onglet TAB 2 et le remettre au bon endroit pause 2000 parent 1,999 parent 3,999 parent 1,100 parent 2,100 parent 3,100
end | |
| | | Klaus
Nombre de messages : 12301 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec CONTAINER_TAB Lun 11 Déc 2023 - 18:01 | |
| Voici une version étendue de ma démo. Le début est identique - démonstration du problème avec CONTAINER_TAB. Puis, une simulation de tout ça avec des boutons et des panels. Une checkbox permet de choisir si l'on veut bloquer les pages 2 et 3 et ne permettre que la page 1. C'est exactement l'effet que je veux produire. Voici le code: - Code:
-
' probleme_container_tab.bas
label ShowTab label click101, click102, click103
caption 0,"Paboramic Version "+version$
Container_Tab 90 : ' width 100,width_client(0) : height 100,height_client(0) tab 1 : caption 1,"TAB 1" : parent 1,90 on_show 1,ShowTab alpha 11 : parent 11,1 : top 11,10 : left 11,10 : caption 11,"TAB 1" tab 2 : caption 2,"TAB 2" : parent 2,90 alpha 12 : parent 12,2 : top 12,10 : left 12,10 : caption 12,"TAB 2" tab 3 : caption 3,"TAB 3" : parent 3,90 alpha 13 : parent 13,3 : top 13,10 : left 13,10 : caption 13,"TAB 3" ' ======== simulation d'un container_tab avec 3 tab: check 100 : top 100,210 : caption 100,"Forcer page 1" button 101 : top 101,230 : left 101,0 : caption 101,"TAB 1" : on_click 101,click101 button 102 : top 102,230 : left 102,width(101) : caption 102,"TAB 2" : on_click 102,click102 button 103 : top 103,230 : left 103,left(102)+width(102) : caption 103,"TAB 3" : on_click 103,click103 panel 201 : top 201,top(101)+height(101) : width 201,width(90) alpha 211 : parent 211,201 : top 211,20 : left 211,20 : caption 211,"TAB 1" panel 202 : top 202,top(101)+height(101) : width 202,width(90) : hide 202 alpha 212 : parent 212,202 : top 212,20 : left 212,20 : caption 212,"TAB 2" panel 203 : top 203,top(101)+height(101) : width 203,width(90) : hide 203 alpha 213 : parent 213,203 : top 213,20 : left 213,20 : caption 213,"TAB 3" end
ShowTab: mark_on 1 return click101: show 201 hide 202 hide 203 return click102: hide 201 show 202 hide 203 if checked(100)=1 then gosub click101 return
click103: hide 201 hide 202 show 203 if checked(100)=1 then gosub click101 return
Suis-je obligé d'utiliser cette usine à gaz en Panoramic ou y a-t-il une solution utilisant CONTAINER-TAB ? | |
| | | Klaus
Nombre de messages : 12301 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec CONTAINER_TAB Lun 11 Déc 2023 - 18:04 | |
| On s'est encore croisé, Marc !
Très bonne idée, ce CONTAINER_TAB phantôme ! Je n'avais pas du tout pensé à ça.
Je vais de ce pas intégrer cette astuce dans mon programme application pour voir ce que cela donne...
EDIT
Je constate (et j'aurais dû le voir immédiatement en regardant le code !): cela fait disparaître le libellé du TAN interdit de la liste des TABs. Radical... pourquoi pas, même si visuellement, ce n'est pas vraiment l'effet recherché. | |
| | | Klaus
Nombre de messages : 12301 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec CONTAINER_TAB Lun 11 Déc 2023 - 18:26 | |
| MERCI, Marc !
Ton astuce marche parfaitement dans mon programme, et je peux ainsi bloquer l'accès aux onglets à volonté.
Mais c'est tout de même curieux que ça ne marche pas comme décrit dans la doc... | |
| | | jjn4
Nombre de messages : 2709 Date d'inscription : 13/09/2009
| Sujet: Re: Problème avec CONTAINER_TAB Lun 11 Déc 2023 - 18:26 | |
| - Klaus a écrit:
- comment peut-on interdire l'affichage de certains onglets
La réponse de Marc semble originale et intéressante. Il y a aussi la méthode que j'ai employée dans : https://panoramic.1fr1.net/t6868-gerer-les-dates-de-peremption(où l'onglet « Légumes » est en fait un onglet à accès limité) Mais là, j'ai fabriqué moi-même les onglets, (car je trouve ceux de panoramic riquiqui et moches) ce qui facilite les choses. Je vois aussi une autre méthode : dans l'onglet à interdire, mettre tous le contenu dans un panel à mettre en hide pour ceux qui ne doivent pas y avoir accès et on peut même mettre en dessous du panel un contenu fictif destiné à noyer le poisson (ou les légumes). (Là, on est presque dans du 007 !) | |
| | | Marc
Nombre de messages : 2397 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Problème avec CONTAINER_TAB Lun 11 Déc 2023 - 18:59 | |
| @Klaus
Je suis long à la détente, mais ça y est, j’ai compris ton souhait !
Et malheureusement, je ne vois pas d’autre solution à part cacher purement et simplement les onglets interdits.
La fonction Parent(N) permettant de savoir si un onglet est visible par l’utilisateur en fonction de son numéro de parent.
Bonjour JJN4 !
Oui, ta méthode «Légumes » fonctionne bien. C’est ce que Klaus a créé dans sa deuxième partie de code (celui de 18h01) pour essayer de me faire comprendre le fonctionnement de ce qu’il recherchait.
Bonne soirée à tous !
| |
| | | Klaus
Nombre de messages : 12301 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec CONTAINER_TAB Mar 12 Déc 2023 - 0:52 | |
| Merci à vous deux. Ceci m'a aidé à mettre en oeuvre une astuce (un éwork-around") pour en arriver à mes fins.
La méthode de Marc m'a permis de mettre en place une solution viable. Et l'astuce de jjn4 ressemble fortement ce que j'ai proposé dans mon dernier code, avec une sophistication supplémentaire. Je garde tout ça dans ma "collection" d'astuces.
Et pourtant... Je persiste à dire qu'il y a un problème. La commande SHOW, supposé marcher sur un TAB, ne marche pas, ni pour afficher unn autre TAB que celui affiché, ni même appliquée au TAB en cours dont elle "cache" en réalité les objets. Pour moi, c'est un bug. | |
| | | Marc
Nombre de messages : 2397 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Problème avec CONTAINER_TAB Mer 13 Déc 2023 - 10:59 | |
| La documentation intégrée dans le Make_Exe (et par voie de conséquence avec EliP) ainsi que celle de Panoramic_Editor 0.9.29.i9, indiquent que la commande SHOW ne s’applique pas à un TAB.
Par contre, dans la doc de Panoramic_Editor 0.9.29i11, il n'y a pas le TAB dans la liste des exclusions pour la commande SHOW.
| |
| | | Klaus
Nombre de messages : 12301 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec CONTAINER_TAB Mer 13 Déc 2023 - 16:52 | |
| Tu as raison. Vérification faite, la doc accessible par ELIP indique bien qu'il y a ERREUR si SHOW est appliqué sur un objet TAB. Donc, j'ai lu trop superficiellement et je me suis pris la tête pour rien.
Heureusement que la solution proposée par toi foncionne parfaitement... | |
| | | Contenu sponsorisé
| Sujet: Re: Problème avec CONTAINER_TAB | |
| |
| | | | Problème avec CONTAINER_TAB | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |