Comment faire une interface avec icnes comme le PrefPane ?

Je suis nouveau sur Xojo et j’aimerais savoir quel composants visuels utiliss pour faire une fentre avec des icnes qui donnent accs chacun une “page” diffrente comme les Prfrences Systmes de macOS.

Merci,

Dedubo

une listbox, qui contient les icones, et un pagepanel qui contient les panneaux de prefs doivent suffire.
pour faire comme les prefs systme un pagepanel suffit
la 1ere page contient les icones, et un clic sur un icone amne la page souhaite o se trouve le contenu de la pref.

En effet, il faut partir d’un PagePanel pour chaque vue.
Pour la premire page du PagePanel plusieurs solutions sont possibles:

  • Dans le cas de l’utilisation d’un Listbox comme l’a recommand Jean-Yves, il faudra tout dessiner soi-mme dans l’vnement CellBackgroundPaint.

  • Autre solution un Canvas, mme problmatique que ci-dessus, il faut tout dessiner soi-mme, et en plus grer l’espacement entre chaque icne.

  • Troisime solution, utiliser plusieurs ContainerControl, il faudra grer l’alignement soi-mme, mais les icnes peuvent tre placs dans un ImageWell ou Canvas (proprit backdrop), et le texte dans un label.

on peut mettre directement les icones en backdrop d’un canvas, directement sur la page 0 du pagepanel
sur l’event mousedown, on change la page du pagepanel la page de la pref adquate.

Merci Jean-Yves et Jrmie pour vos rponses.
Est-ce qu’il y aurait un code source d’exemple dans Xojo ou ailleurs (ou qqchose d’approchant) ?

https://forum.xojo.com/38681-how-display-icons-with-labels-into-a-listbox/0#p315512

Sinon, comment faire pour stocker une quinzaines d’icônes dans mon projet ? Y a t-il un composant qui permet de “stocker” plusieurs icônes et de les appeler par leur Index (comme sous Delphi) ?

Je ne connais pas Delpi.

Mais en Xojo, on peut ajouter dans un module un tableau par example mesImages as Picture, et d’affecter les images dposes dans le projet.

En fait le tableau ne fera que pointer sur les images, mais si cela aide, en tous cas il aura un index.

Plus rapide, pointer sur un dossier dans lequel sont stockes les images, et utiliser FolderItem.Item pour aller chercher chaque fichier d’image, et la charger dans le tableau.

Le problme que je vois avec cette technique est que les images seront charges dans l’ordre des fichiers, ce qui peut n’avoir qu’un rapport lointain avec le contenu.

L’utilisation d’un index est un exemple, mais quelle est la mthode usuelle pour encapsuler des images/icones dans mon projet Xojo sans devoir les fournirs avec lexcutable (.dmg) ?

Bonjour,
Pour encapsuler les images.
Dans ton projet xojo, tu cres un dossier. Et tu dpose tes images dans ce dossier. Les images seront directement adressable par leur nom.

Tous les objets déposés dans le projet sont mis à l’intérieur de l’app.

Note:
Tu peux créer une hiérarchie de dossiers contenant des images.

Aussi: méfie-toi des noms des images: Xojo IDE peut modifier leur nom(s).

Donc: tu peux déposer des images dans des dossiers par type de contenu / usage et les appeller par leur nom que tu vérifiera en ouvrant les dossiers.

Évite quand même les noms contenant des caractères on ASCII (tels que les caractères accentués, ©,®, etc.).