Créer des onglets sans faire défiler horizontalementSalut tout le monde
Puis-je savoir s'il y a une fonction qui peut faire si j'ai 25 onglets dans une interface utilisateur, alors par exemple tous les 5 onglets, il descendra automatiquement une autre ligne (signifié ici 1-5 dans la première ligne, puis 6-10 dans la seconde rangée et etc.), ce qui peut empêcher l'utilisateur de faire défiler horizontalement vers la droite.
J'ai recherché l'index de script pour la zone de liste d'onglets, mais je ne trouve aucune fonction appropriée.
Quelqu'un peut-il me donner des indices?
Merci.
Par exemple le script ci-dessous :
nTabs = 25;
VariabilityWindow = New Window("Variability Chart",tb = Tab Box() );
For( i = 1, i <= nTabs, i++,
tb << Insert(
i,
"variability chart" || Char( i ),
V List box(
Button Box( "Variability Chart #" || Char( i ) ),
)
)
);

Re : Créer des onglets sans faire défiler horizontalementPensez peut-être à changer un peu votre interface.
J'ai eu une situation similaire où initialement le nombre d'onglets était petit (5-10). Ensuite, j'ai rencontré des situations où il allait y avoir 35 onglets ! J'ai complètement changé l'interface comme suit :
J'ai mis une liste déroulante sur le côté gauche avec les noms des onglets qu'elle contient, maintenant appelés "sujets". Puisqu'il s'agit d'une liste déroulante, il n'y a eu aucun problème pour gérer 35 noms de sujets. Lorsque l'utilisateur clique sur un sujet, l'affichage à droite est mis à jour avec des informations/affichages pour ce sujet. Incidemment, il y avait tellement d'informations à afficher pour un sujet donné que je l'ai divisé en onglets séparés, mais il y en avait un nombre constant (6). Voici un échantillon :

Re : Créer des onglets sans faire défiler horizontalementJMP ne prend pas en charge les onglets à plusieurs niveaux. Il existe quelques autres solutions qui pourraient vous aider.
(1) Vous pouvez définir le drapeau de débordement. Cela définit la taille de la fenêtre à la taille de son contenu, et les onglets qui ne correspondent pas sont placés dans un menu déroulant à droite, comme le font les navigateurs.
nTabs = 25;
VariabilityWindow = New Window("Variability Chart",tb = Tab Box( << Set Overflow Enabled(1) ) );
For( i = 1, i <= nTabs, i++,
tb << Insert(
i,
"variability chart" || Char( i ),
V List box(
Button Box( "Variability Chart #" || Char( i ) ),
)
)
);
(2) Vous pouvez définir le style d'onglet pour utiliser une zone de liste déroulante (menu déroulant) au lieu d'onglets horizontaux.
nTabs = 25;
VariabilityWindow = New Window("Variability Chart",tb = Tab Box( << Set Style( "combo" ) ) );
For( i = 1, i <= nTabs, i++,
tb << Insert(
i,
"variability chart" || Char( i ),
V List box(
Button Box( "Variability Chart #" || Char( i ) ),
)
)
);
Re : Créer des onglets sans faire défiler horizontalementIl n'y a pas de moyen automatique de le faire, cependant, vous pouvez construire votre application pour ajouter des lignes supplémentaires, en cassant tous les 5 onglets.
Voici une illustration câblée de la configuration des rangées.Votre programme n'aurait qu'à construire la structure par programmation
Names Default To Here( 1 );
New Window( "Example",
Tab Box(
Tab Page Box(
"Row One",
Tab Box(
Tab Page Box( "Alpha", Popup Box( {"x", ex = 1, "y", ex = 2} ) ),
Tab Page Box( "Beta", Popup Box( {"x", ex = 1, "y", ex = 2} ) ),
Tab Page Box( "Gamma", Popup Box( {"x", ex = 1, "y", ex = 2} ) )
)
),
Tab Page Box(
"Row Two",
Tab Box(
Tab Page Box( "Alpha2", Popup Box( {"x", ex = 1, "y", ex = 2} ) ),
Tab Page Box( "Beta2", Popup Box( {"x", ex = 1, "y", ex = 2} ) ),
Tab Page Box( "Gamma2", Popup Box( {"x", ex = 1, "y", ex = 2} ) )
)
),
Tab Page Box(
"Row Three",
Tab Box(
Tab Page Box( "Alpha3", Popup Box( {"x", ex = 1, "y", ex = 2} ) ),
Tab Page Box( "Beta3", Popup Box( {"x", ex = 1, "y", ex = 2} ) ),
Tab Page Box( "Gamma3", Popup Box( {"x", ex = 1, "y", ex = 2} ) )
)
)
)
);