Bonjour,
J'utilise 2 pushbuttons qui appellent une meme fonction callback. Est-ce qu'il y a un moyen depuis ma fonction callback de savoir quel pushbutton a été sélectionné?
Merci
Bonjour,
J'utilise 2 pushbuttons qui appellent une meme fonction callback. Est-ce qu'il y a un moyen depuis ma fonction callback de savoir quel pushbutton a été sélectionné?
Merci
Bonjour,
Oui c'est possible.
Utilises-tu GUIDE ou une interface codée "à la main"?
Avec GUIDE, pour avoir l'identifiant du bouton:
Sinon ca dépend comment tu l'as codé...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 get(hObject, 'Tag')
Bonne journée,
Duf
Je code a la main.
Je definis les pushbuttons comme suit:
et ce UICONTROLS est une variable globale donc je peux y accéder depuis sj_PREFERENCES_selectColor. Je dois pouvoir utiliser gco et retrouver par rapport à la position apparemment?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 UICONTROLS(88).id = 88; UICONTROLS(88).style = 'pushbutton'; UICONTROLS(88).step = 'PREFERENCES'; UICONTROLS(88).visible = 'off'; UICONTROLS(88).handleVisibility = 'on'; UICONTROLS(88).string = 'Color for background'; UICONTROLS(88).fontSize = fontSizeText; UICONTROLS(88).font = fontText; UICONTROLS(88).fontWeight = 'normal'; UICONTROLS(88).fontColor = colorBkgd; UICONTROLS(88).horizontalAlignment = 'center'; UICONTROLS(88).backgroundColor = colorControls; UICONTROLS(88).enable = 'off'; UICONTROLS(88).position = [0.02 0.89 0.3 0.05]; UICONTROLS(88).callback = 'sj_PREFERENCES_selectColor'; UICONTROLS(88).h = [];
et après je regarde quel uicontrol se trouve à cette position... C'est peut-etre de la bidouille je sais pas mais du moment que ca marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 h = get(gco); pos = h.Position;![]()
salut
ta fonction callback a nécessairement 2 arguments d'entrées que tu dois récupérer à un moiment ou un autre.
l'un est la source du callback.
il te suffit de contrôler un propriété qui diffère (mais je choisirais une propriété plus "stable" que la position que tu pourras être amené à modifier au cours de ton développement).
la source du callback peut aussi être récupérée par gcbo. gco doit marcher aussi dans la plupart des cas d'utilisation mais on ne sait jamais, mieux vaut l'éviter je pense.
tu peux écrire aussi directementpour reprendre l'exemple de Duf42 car même si tu ne programmes pas avec GUIDE c'est intéressant d'ajouter un tag à tes uicontrol qui est une bonne propriété pour ce genre de test.
Code : Sélectionner tout - Visualiser dans une fenêtre à part get(gcbo, 'Tag');
Partager