Bonjour,
Est-il possible de se créer un toolbar personnalisé, en incluant les fonctions zoom in et out et pan tels que proposés par le toolbar par défaut ?
Je travaille sur MatLab 2007b.
Merci d'avance de vos réponses.
Bonjour,
Est-il possible de se créer un toolbar personnalisé, en incluant les fonctions zoom in et out et pan tels que proposés par le toolbar par défaut ?
Je travaille sur MatLab 2007b.
Merci d'avance de vos réponses.
Bonjour,
Bonne journée,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2help uitoolbar
Duf
Bonjour Duf,
Merci de ta réponse mais ça ne m'aide pas vraiment.
Pour préciser ma demande, je ne veux pas de la toolbar 'par défaut', car il y a dedans deux fonctionnalités très ennuyeuses pour le GUI que je construis (le 'Edit plot' et 'Show Plot Tools').
J'ai déjà regardé le, et il ne propose aucune option pour conserver tel ou tel fonctionnalités, à mois que je ne sois aveugle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part set(uitoolbar())
Lorsque je fais, et que je regarde les enfants de 'h', c'est une matrice vide qui sort.
Code : Sélectionner tout - Visualiser dans une fenêtre à part h=figure('ToolBar','figure')
Si tu utilises UITOOLBAR, il te crée une toolbar vide que tu peux remplir comme tu le souhaites (mais il faut que tu crées les éléments "à la main" en utilisant UIPUSHTOOL ou UITOGGLETOOL)
Pour avoir accès aux éléments de la toolbar créée automatiquement (et donc à ses enfants) tu peux utiliser FINDALL (avec h le handle de ta fenêtre)
Et tu dois pouvoir les supprimer avec DELETE (mais je doute que ce soit très propre de faire comme ca )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 findall(h,'Type','uipushtool')
L'autre solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 fig = figure('toolbar','figure'); h(3) = findall(fig,'tooltipstring','Zoom In'); h(2) = findall(fig,'tooltipstring','Zoom Out'); h(1) = findall(fig,'tooltipstring','Pan'); tb = uitoolbar(fig); copyobj(h,tb) set(fig,'toolbar','none')
Effectivement, ta solution est parfaite Dut
J'étais parti sur une autre solution, qui consistait à recréer les pushtool et à leur affecter sur les "OnCallBack" la fonction "zoom" avec les bons paramètres ... mais c'est beaucoup plus élégant comme le propose Dut.
Merci à vous deux, Dut et Duf42 !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager