backgroundcolor | Couleur de fond du contrôle. On peut utiliser une matrice [rouge vert bleu] ou les
couleurs prédéfinies: 'r' ou 'red', 'g' ou 'green' , 'b' ou 'blue' , 'y' ou 'yellow' , 'm' ou 'magenta' , 'c' ou 'cyan' , 'w' ou 'white' , 'k' ou 'black' |
BeingDeleted | |
BusyAction | |
ButtonDownFcn | |
Callback |
définit la fonction qui sera appelée si le contrôle est cliqué. |
CData | image qui sera affichée sur le contrôle |
Children | Retourne la liste des enfants du contrôle |
CreateFcn | Fonction qui sera exécutée lors de la création du contrôle |
DeleteFcn | Fonction qui sera exécutée lors de la suppression du contrôle |
Enable | définit si le control est opérationnel ou non. Elle peut prendre les valeurs {on} | inactive | off |
Extend | |
FontAngle | {normal} | italic | oblique |
FontName |
nom de la fonte |
FontSize |
Taille de la fonte dans l'unité précisée par la propriété FontUnits |
FontUnits |
inches | centimeters | normalized | {points} | pixels |
FontWeight |
light | {normal} | demi | bold |
ForegroundColor |
couleur du texte précisé par la propriété 'String' |
HandleVisibility | |
HitTest | |
HorizontalAlignment |
left | {center} | right |
Interruptible | mode d?interruption de la fonction callback |
KeyPressFcn | fonction exécuté si on appuie sur une touche du clavier |
ListboxTop |
|
Max |
|
Min |
|
Parent | identificateur du père. C'st le premier paramètre précisé lors de la création du contrôle |
Position | Position par rapport au père.On peut changer les unités à l'aide de la propriété units |
Selected | Pour savoir si le contrôle est sélectionné ou non |
SelectionHighlight | |
SliderStep | |
String | Le texte affiché sur le contrôle |
Style |
{pushbutton} | togglebutton | radiobutton | checkbox | edit | text | slider | frame | listbox |
popupmenu |
Tag |
|
TooltipString |
|
UIContextMenu | |
Units |
Unité de mesure pour le paramètre Position. Elle peut prendre les valeurs: inches | centimeters | normalized | points | {pixels} | characters |
UserData |
|
Value | Valeur actuelle du contrôle. 1 s'il est sélectionné, 0 sinon. |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
backgroundcolor | Couleur de fond du contrôle. On peut utiliser un triplet [rouge vert bleu] ou les
couleurs prédéfinies: 'r' ou 'red', 'g' ou 'green' , 'b' ou 'blue' , 'y' ou 'yellow' , 'm' ou 'magenta' , 'c' ou 'cyan' , 'w' ou 'white' , 'k' ou 'black' |
Callback |
définit la fonction qui sera appelée quand le checkbox est cliqué. |
Enable | définit si le contrôle est opérationnel ou non. Elle peut prendre les valeurs {on} | inactive | off |
ForegroundColor |
couleur du texte précisé par la propriété 'String' |
HorizontalAlignment |
left | {center} | right |
Parent | identificateur du père. C'est le premier paramètre précisé lors de la création du contrôle |
Position | Position par rapport au père.On peut changer les unités à l'aide de la propriété units |
String | Le texte affiché sur le contrôle |
Units |
Unité de mesure pour le paramètre Position. Elle peut prendre les valeurs: inches | centimeters | normalized | points | {pixels} | characters |
Value | Valeur actuelle du contrôle. 1 s'il est sélectionné, 0 sinon. |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
function checkbox() % Exemple contrôle Checkbox global pan1 chb1 chb2 chb3 chb4 close all fh = figure('Units', 'Normalized', 'Position',[0.6 0.6 0.1 0.3],'MenuBar','none'); fond = get(fh,'color'); pan1 = uipanel(fh, 'Title','Choix', 'position',[0.02 0.02 0.9 0.6],'back',fond); chb1 = uicontrol(pan1,'style', 'Checkbox','position', [0.1 0.8 0.6 0.1],... 'String', 'Bananes', 'back',fond); chb2 = uicontrol(pan1,'style', 'Checkbox','position', [0.1 0.55 0.6 0.1],... 'String', 'Pommes', 'back',fond); chb3 = uicontrol(pan1,'style', 'Checkbox','position', [0.1 0.3 0.6 0.1],... 'String', 'Oranges', 'back',fond); chb4 = uicontrol(pan1,'style', 'Checkbox','position', [0.1 0.05 0.6 0.1],... 'String', 'abricot', 'back',fond); b1 = uicontrol(fh, 'style', 'push', 'pos',[0.1 0.82 0.8 0.15],... 'str', 'Test 1', 'call', @test1); b2 = uicontrol(fh, 'style', 'push', 'pos',[0.1 0.65 0.8 0.15],... 'str', 'Test 2', 'call', @test2); end function test1(obj,event) global pan1 hh = get(pan1,'children') %retourne un tableau d'identificateurs disp(' '); for i = 1:length(hh) s = get(hh(i),'string'); v = get(hh(i),'value'); if v disp(s); end end end function test2(obj,event) global chb1 chb2 chb3 chb4 disp(' '); if get(chb1,'value') disp(get(chb1,'string')); end if get(chb2,'value') disp(get(chb2,'string')); end if get(chb3,'value') disp(get(chb3,'string')); end if get(chb4,'value') disp(get(chb4,'string')); end end |
La propriété 'string' définit le texte qui sera affiché dans sur le bouton. Ici c'est le mot EXIT
backgroundcolor | Couleur de fond du contrôle. On peut utiliser un triplet [rouge vert bleu] ou les
couleurs prédéfinies: 'r' ou 'red', 'g' ou 'green' , 'b' ou 'blue' , 'y' ou 'yellow' , 'm' ou 'magenta' , 'c' ou 'cyan' , 'w' ou 'white' , 'k' ou 'black' |
Callback |
définit la fonction qui sera appelée quand le checkbox est cliqué. |
Enable | définit si le contrôle est opérationnel ou non. Elle peut prendre les valeurs {on} | inactive | off |
ForegroundColor |
couleur du texte précisé par la propriété 'String' |
HorizontalAlignment |
left | {center} | right |
Parent | identificateur du père. C'est le premier paramètre précisé lors de la création du contrôle |
Position | Position par rapport au père.On peut changer les unités à l'aide de la propriété units |
String | Le texte affiché sur le contrôle |
Units |
Unité de mesure pour le paramètre Position. Elle peut prendre les valeurs: inches | centimeters | normalized | points | {pixels} | characters |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
set(id , 'string', 'texte') --> affiche la chaîne texte dans le champs de saisie. Normalement la valeur affectée à la propriété string doit être une chaîne de caractères, mais Matlab accepte une valeur de type numérique et fait la conversion automatiquement:
set(id , 'string', 125)Les fonctions num2str() et str2num() peuvent s'avérer utiles lors de l'utilisation de ce contrôle
backgroundcolor | Couleur de fond du contrôle. On peut utiliser un
triplet [rouge vert bleu] ou les couleurs prédéfinies: 'r' ou 'red', 'g' ou 'green' , 'b' ou 'blue' , 'y' ou 'yellow' , 'm' ou 'magenta' , 'c' ou 'cyan' , 'w' ou 'white' , 'k' ou 'black' |
Callback |
définit la fonction qui sera appelée si on valide la saisie avec la touche Enter. |
Enable | définit si le contrôle est opérationnel ou non. Elle peut prendre les valeurs {on} | inactive | off |
ForegroundColor |
couleur du texte affiché dans le contrôle |
HorizontalAlignment |
left | {center} | right |
Parent | identificateur du père. C'est le premier paramètre précisé lors de la création du contrôle |
Position | Position par rapport au père.On peut changer les unités à l'aide de la propriété units |
String | Le texte affiché sur le contrôle |
Units |
Unité de mesure pour le paramètre Position. Elle peut prendre les valeurs: inches | centimeters | normalized | points | {pixels} | characters |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
function edit0() global e1 e2 e3 close all fh = figure('Units', 'Normalized', 'Position',[0.6 0.6 0.15 0.15],... 'MenuBar','none'); set(0, 'DefaultUicontrolUnits', 'normalized') ; e1 = uicontrol(fh,'style','EDIT','Posit',[0.5 0.7 0.3 0.2],... 'str', 22, 'fore','r','call',@alphaa); e2 = uicontrol(fh,'style','Edit','Posit',[0.5 0.4 0.3 0.2],... 'str', '44','backg','y'); e3 = uicontrol(fh,'style','EDIT','Posit',[0.5 0.1 0.3 0.2]); b1 = uicontrol(fh, 'style', 'push', 'pos',[0.1 0.4 0.3 0.2],.... 'str', 'Alpha', 'call', @alphaa); b1 = uicontrol(fh, 'style', 'push', 'pos',[0.1 0.1 0.3 0.2],... 'str', 'Num', 'call', @numm); t1 = uicontrol(fh,'style','Text','Posit',[0.1 0.7 0.3 0.2],... 'str', 'Text','back', get(gcf,'color')); end function numm(obj,event) global e1 e2 e3 n1 = str2num(get(e1,'string')); n2 = str2num(get(e2,'string')); set(e3,'string',n1+n2); end function alphaa(obj,event) global e1 e2 e3 s1 = get(e1,'string'); s2 = get(e2,'string'); set(e3,'string',[s1 s2]); end |
function text0() global tt t3 e1 close all tt={'AAAAAAA'}; fh = figure('Position',[100 100 270 450],'MenuBar','none','Name','Le contrôle Text'); fond = get(fh,'color'); t1 = uicontrol(fh,'style','Text','Posit',[10 415 250 20],'str','Champ de saisie','back',fond); e1 = uicontrol(fh,'style','Edit','Posit',[10 400 250 20]); set(e1,'back',[0.9 0.9 0],'str','Tapper quelque chose ici et cliqur sur peupler'); t2 = uicontrol(fh,'style','Text','Posit',[10 350 250 20],'str','Champ d''affichage','back',fond); t3 = uicontrol(fh,'style','Text','Posit',[10 50 250 300],'horiz','left','str',tt); b1 = uicontrol(fh,'style','push','Posit',[10 10 80 30],'str','peupler','call',@peupler); b2 = uicontrol(fh,'style','push','Posit',[120 10 80 30],'str','quitter','call',@quitter); end function peupler(obj,event) global tt t3 e1 tt = get(t3,'str'); ajou = get(e1,'str'); tt = [tt; ajou]; %tt{end+1,1}='AAAAAA'; set(t3,'str',tt); end function quitter(obj,event) disp('by-by') delete(gcf) end |
backgroundcolor | Couleur de fond du contrôle. On peut utiliser un triplet [rouge vert bleu] ou les
couleurs prédéfinies: 'r' ou 'red', 'g' ou 'green' , 'b' ou 'blue' , 'y' ou 'yellow' , 'm' ou 'magenta' , 'c' ou 'cyan' , 'w' ou 'white' , 'k' ou 'black' |
Callback |
définit la fonction qui sera appelée quand le checkbox est cliqué. |
Enable | définit si le contrôle est opérationnel ou non. Elle peut prendre les valeurs {on} | inactive | off |
ForegroundColor |
couleur du texte précisé par la propriété 'String' |
HorizontalAlignment |
left | {center} | right |
Max | Valeur de la propriété value quand le bouton est enfoncé. par défaut, Max = 1 |
Min |
Valeur de la propriété value quand le bouton est relâché. par défaut, Min = 0 |
Parent | identificateur du père. C'est le premier paramètre précisé lors de la création du contrôle |
Position | Position par rapport au père.On peut changer les unités à l'aide de la propriété units |
String | Le texte affiché sur le contrôle |
Units |
Unité de mesure pour le paramètre Position. Elle peut prendre les valeurs: inches | centimeters | normalized | points | {pixels} | characters |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
function togglebutton() fh = figure('MenuBar','None', 'units','normalized','Posit', [0.5 0.5 0.3 0.2]); ed = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [0.1 0.2 0.8 0.2]); tb = uicontrol(fh, 'style', 'ToggleButton','units','normalized', 'string', 'ON / OF',... 'Posit', [0.4 0.5 0.2 0.2], 'callback', @toggle); function toggle(obj, event) if get(obj,'value') set(ed, 'string', 'Le bouton est enfoncé'); else set(ed, 'string', 'Le bouton est relâché'); end end end |
backgroundcolor | Couleur de fond du contrôle. On peut utiliser une
matrice [rouge vert bleu] ou les couleurs prédéfinies: 'r' ou 'red', 'g' ou 'green' , 'b' ou 'blue' , 'y' ou 'yellow' , 'm' ou 'magenta' , 'c' ou 'cyan' , 'w' ou 'white' , 'k' ou 'black' |
Callback |
définit la fonction qui sera appelée si le radiobutton est cliqué. |
Enable | définit si le contrôle est opérationnel ou non. Elle peut prendre les valeurs {on} | inactive | off |
FontAngle | {normal} | italic | oblique |
FontName |
nom de la fonte |
FontSize |
Taille de la fonte dans l'unité précisée par la propriété FontUnits |
FontUnits |
inches | centimeters | normalized | {points} | pixels |
FontWeight |
light | {normal} | demi | bold |
ForegroundColor |
couleur du texte précisé par la propriété 'String' |
HorizontalAlignment |
left | {center} | right |
Parent | identificateur du père. C'est le premier paramètre précisé lors de la création du contrôle |
Position | Position par rapport au père.On peut changer les unités à l'aide de la propriété units |
String | Le texte affiché sur le contrôle |
Units |
Unité de mesure pour le paramètre Position. Elle peut prendre les valeurs: inches | centimeters | normalized | points | {pixels} | characters |
Value | Valeur actuelle du contrôle. 1 s'il est sélectionné, 0 sinon. |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
backgroundcolor | Couleur de fond du contrôle. On peut utiliser un
triplet [rouge vert bleu] ou les couleurs prédéfinies: 'r' ou 'red', 'g' ou 'green' , 'b' ou 'blue' , 'y' ou 'yellow' , 'm' ou 'magenta' , 'c' ou 'cyan' , 'w' ou 'white' , 'k' ou 'black' |
Callback |
définit la fonction qui sera appelée chaque fois qu'on séléctionne un élément du Listbox |
Enable | définit si le contrôle est opérationnel ou non. Elle peut prendre les valeurs {on} | inactive | off |
ForegroundColor |
Couleur du texte affiché dans le contrôle |
ListboxTop | Si le contrôle ListBox n'est pas suffisamment grand pour afficher tous les éléments de la liste, le
paramètre ListboxTop permet alors de préciser quel est l'élément de la liste qui doit affiché en premier. ce paramètre doit être un entier compris entre 1 et le nombre d'élément de la liste. Je ne suis pas arrivé à faire marcher ce paramètre. Si vous y arrivez, merci de m'envoyer un petit mail |
Max | utilisé pour choisir en mode sélection unique et mode sélection multiples Max-Min <= 1 => Sélection unique Max-Min > 1 => Sélections multiples |
Min | utilisé pour choisir en mode sélection unique et mode sélection multiples Max-Min <= 1 => Sélection unique Max-Min > 1 => Sélections multiples |
Parent | identificateur du père. C'est le premier paramètre précisé lors de la création du contrôle |
Position | Position par rapport au père. On peut changer les unités à l'aide de la propriété units |
String | Le texte constituant l'ensemble des éléments de la liste, de préférence sous format matrice de cellules:
{'Janvier', 'Fevrier', 'mars', 'Avril', 'Mai', 'Juin'} |
Units |
Unité de mesure pour le paramètre Position. Elle peut prendre les valeurs: inches | centimeters | normalized | points | {pixels} | characters |
Value | Index de l'élément courant ou vecteur d' indexes si plusieurs éléments sont sélectionnés. Cet attribut nous permet de savoir quel est l'élément sélectionné. On peut aussi le modifier par code pour choisir l'élément courant |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
function listbox_ss() close all fh = figure('MenuBar','none','Position',[400 100 250 200],... 'Name','ListBox','NumberTitle','off'); th = uicontrol(fh,'Style','Text','Position',[30 50 200 20],'foreg','r'); b2 = uicontrol(fh,'style','push','Posit',[30 10 80 30],... 'str','quitter','call',@quitter); ss = {'Janvier', 'Fevrier', 'mars', 'Avril', 'Mai', 'Juin', 'Juillet',... 'Aout', 'Septembre', 'Ocobre', 'Novembre', 'Decembre'}; lbh = uicontrol(fh,'Style','listbox','Position',[30 80 130 100],... 'String',ss,'callb',{@voir, th}); end function quitter(obj,event) disp('by-by') delete(gcf) end function voir(obj,event,th) i = get(obj,'value'); s = get(obj,'string'); set(th,'str',['Elément séléctionné --> ' s{i}]); end |
function listbox_ms() global lbh th1 th2 close all fh = figure('Position',[400 100 250 300],'MenuBar','none','Name','ListBox',... 'NumberTitle','off'); set(fh,'DefaultUicontrolHorizontalAlignment','left'); ss = {'Janvier', 'Fevrier', 'mars', 'Avril', 'Mai', 'Juin', 'Juillet',... 'Aout', 'Septembre', 'Ocobre', 'Novembre', 'Decembre'}; lbh = uicontrol(fh,'Style','listbox','Position',[130 185 100 105],... 'String',ss,'Min',0,'Max',2,'Value',[]); th0 = uicontrol(fh,'Style','Text','Position',[20 185 100 100]); set(th0,'str','utiliser CTRL+souris pour séléctionner plusieurs éléments puis cliquer sur Voir') th1 = uicontrol(fh,'Style','Text','Position',[20 80 100 100],'foreg','r'); th2 = uicontrol(fh,'Style','Text','Position',[130 80 100 100],'foreg','b'); b2 = uicontrol(fh,'style','push','Posit',[20 45 80 30],'str','Voir',... 'call',{@voir, lbh, th1, th2}); b3 = uicontrol(fh,'style','push','Posit',[20 10 80 30],... 'str','quitter','call',@quitter); end function quitter(obj,event) disp('by-by') delete(gcf) end function voir(obj,event, lbh, th1, th2) i = get(lbh,'value'); s = get(lbh,'str'); set(th1,'str',s(i)); % on peut aussi accédér aux éléments séléctionnées un par un set(th2,'str','') for j = i set(th2,'str',[get(th2,'str'); s(j)]); end end |
backgroundcolor | Couleur de fond du contrôle. On peut utiliser un
triplet [rouge vert bleu] ou les couleurs prédéfinies: 'r' ou 'red', 'g' ou 'green' , 'b' ou 'blue' , 'y' ou 'yellow' , 'm' ou 'magenta' , 'c' ou 'cyan' , 'w' ou 'white' , 'k' ou 'black' |
Callback |
définit la fonction qui sera appelée chaque fois qu'on sélectionne un élément dans le PopupMenu |
Enable | définit si le contrôle est opérationnel ou non. Elle peut prendre les valeurs {on} | inactive | off |
ForegroundColor |
Couleur du texte affiché dans le contrôle |
Parent | identificateur du père. C'est le premier paramètre précisé lors de la création du contrôle |
Position | Position par rapport au père. On peut changer les unités à l'aide de la propriété units |
String | Le texte constituant l'ensemble des éléments de la liste, de préférence sous format matrice de cellules:
{'Janvier', 'Fevrier', 'mars', 'Avril', 'Mai', 'Juin'} |
Units |
Unité de mesure pour le paramètre Position. Elle peut prendre les valeurs: inches | centimeters | normalized | points | {pixels} | characters |
Value | Index de l'élément courant. Cet attribut nous permet de savoir quel est l'élément sélectionné. On peut aussi le modifier par code pour choisir l'élément courant |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
function [] = popup() % Illustration du contrôle PopupMenu close all fh = figure('position',[300 300 200 110],'numbertitle','off',... 'menubar','none','name','PopUpMenu = ComboBox'); set(fh,'DefaultUicontrolfontsize',14) poph = uicontrol(fh, 'style','popup','position',[20 10 140 40], 'back', 'c', 'fore', 'r',... 'string',{'Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche'}); txth = uicontrol('style','Text','position',[20 60 140 30]); set(poph,'val', 5, 'callback',{@pop_call, txth}); end function [] = pop_call(poph, event,txth) s = get(poph,'str'); i = get(poph, 'val'); set(txth,'str',s{i}); end |
backgroundcolor | Couleur de fond du contrôle. On peut utiliser un
triplet [rouge vert bleu] ou les couleurs prédéfinies: 'r' ou 'red', 'g' ou 'green' , 'b' ou 'blue' , 'y' ou 'yellow' , 'm' ou 'magenta' , 'c' ou 'cyan' , 'w' ou 'white' , 'k' ou 'black' |
Callback |
Définit la fonction qui sera appelée chaque fois que le slider est bougé |
Enable | définit si le contrôle est opérationnel ou non. Elle peut prendre les valeurs {on} | inactive | off |
Max | Valeur minimale de la propriété Value {1} |
Min |
Valeur minimale de la propriété Value {0} |
Parent | identificateur du père. C'est le premier paramètre précisé lors de la création du contrôle |
Position | Position par rapport au père. On peut changer
les unités à l'aide de la propriété units Si la largeur est supérieur à la hauteur, le slider est horizontal, sinon le slider est vertical |
SliderStep |
Matrice de deux élément [minstep maxstep] indiquant les incrément de déplacement du slider Chaque fois qu'on clique sur une des flèches du Slider son curseur se déplace de minstep. Chaque fois qu'on clique dans la piste du slider à droite ou à gauche de son curseur, celui-ci se déplace de maxstep. Ces deux paramètres doivent avoir des valeurs comprises entre 0 et 1 et correspondent à un déplacement en pourcentage. Les valeurs par défaut sont [0.01 0.1] ce qui correspond à mistep = 1% de (Max - Min) et maxstep = 10% de (Max-min) |
Units |
Unité de mesure pour le paramètre Position. Elle peut prendre les valeurs: inches | centimeters | normalized | points | {pixels} | characters |
Value | Valeur comprise entre Min et Max indiquant la position du slider. Si on bouge le curseur Value change. Si on modifie la valeur de value, le slider bouge. |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
function slider() close all; fh = figure('Position',[600 250 400 350],... 'MenuBar','none','NumberTitle','off'); sh2 = uicontrol(fh,'Style','slider','back','g',... 'Max',100,'Min',0,'Value',25,... 'SliderStep',[0.05 0.1],... 'Position',[350 25 20 300],... 'Callback',@slider2); sh1 = uicontrol(fh,'Style','slider','back','c',... 'Max',100,'Min',0,'Value',50,... 'SliderStep',[0.05 0.1],... 'Position',[30 25 300 20],... 'Callback',@slider1); eth2 = uicontrol(fh,'Style','edit',... 'String',num2str(get(sh1,'Value')),... 'Position',[30 175 240 20],... 'Callback',@edit2); eth1 = uicontrol(fh,'Style','edit',... 'String',num2str(get(sh2,'Value')),... 'Position',[30 140 240 20],... 'Callback',@edit1); sth = uicontrol(fh,'Style','text','String',... 'Entrez une valeur comprise entre 0 et 100 ou bougez les sliders',... 'Position',[30 215 240 40]); function slider1(obj,event) val = get(obj,'Value'); set(eth1,'String',round(val)); end function slider2(obj,event) val = get(obj,'Value'); set(eth2,'String',round(val)); ![]() end function edit1(obj, event) val = str2double(get(obj,'String')); mi = get(sh1,'Min'); ma = get(sh1,'Max'); val = max(val, mi); val = min(val, ma); set(sh1,'Value',val); end function edit2(obj, event) val = str2double(get(obj,'String')); mi = get(sh1,'Min'); ma = get(sh1,'Max'); val = max(val, mi); val = min(val, ma); set(sh2,'Value',val); end end |
Parent | Identificateur (handle) de l'objet père, en général, la fenêtre dans laquelle il sera affiché |
Position | Position en unités normalisée par rapport au père.On peut changer les unités à l'aide de la propriété units |
Title | Titre qui sera affiché dans le cadre. Sa position est contrôlée par la propriété TitlePosition |
TitlePosition | Position du titre dans le cadre. Elle peut prendre les valeurs {lefttop} | centertop | righttop | leftbottom | centerbottom | rightbottom |
Units | Unité de mesure pour le paramètre Position. Elle peut prendre les valeurs inches | centimeters | {normalized} | points | pixels | characters |
backgroundcolor | Couleur de fond du contrôle. On peut utiliser une
matrice [rouge vert bleu] ou les couleurs prédéfinies: 'r' ou 'red', 'g' ou 'green' , 'b' ou 'blue' , 'y' ou 'yellow' , 'm' ou 'magenta' , 'c' ou 'cyan' , 'w' ou 'white' , 'k' ou 'black' |
SelectionChangeFcn | Non de la fonction qui sera appelée quand un des élément du uibuttongroup change d'état |
SelectedObject | Identificateur (handle) de l'élément actuellement sélectionné set(rbg, 'SelectedObject', rb2) --> sélectionne l'élément dont l'identificateur (handle) est rb2. cette action ne provoque pas l'appel de la fnction définie par la propriété SelectionChangeFcn. Celle-ci est appelée seulement suite à une sélection par la souris. get(rbg, 'SelectedObject') --> retourne l'identificateur de l'élément actuellement sélectionné |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
function uibuttongroup_radio() global rbg close all fh = figure('Units', 'Normalized', 'Position',[0.6 0.6 0.1 0.35],'MenuBar','none'); set(0, 'DefaultUicontrolUnits', 'normalized') ; fond = get(fh,'color'); rbg = uibuttongroup('parent',fh, 'position',[0.02 0.02 0.95 0.4],... 'Title','unité', 'back',fond,'SelectionChangeFcn',@radio); rb1 = uicontrol(rbg,'style', 'radiobutton','position', [0.1 0.1 0.8 0.2],... 'String', 'steps','back',fond); rb2 = uicontrol(rbg,'style', 'radiobutton','position',[0.1 0.4 0.8 0.2],... 'String', 'degrés','back',fond); rb3 = uicontrol(rbg,'style', 'radiobutton','position',[0.1 0.7 0.8 0.2],... 'String', 'tours','back',fond); set(rbg, 'SelectedObject',rb2); b1 = uicontrol(fh,'style','pushbutton','Posit',[0.1 0.8 0.8 0.1],'String',... 'Voir','callback',@voir); b1 = uicontrol(fh,'style','pushbutton','Posit',[0.1 0.6 0.8 0.1],... 'String','EXIT','callback',@quitter); end function radio(source,event) % source = handle du control uibuttongroup % event = événement qui s'est produit actuel_hndl = get(source,'SelectedObject'); actuel_str = get(actuel_hndl,'string'); disp(['Elément séléctionné ---> ' actuel_str]) old = get(event.OldValue,'String'); new = get(event.NewValue,'String'); disp(['Evénement: ' old ' ---> ' new]) end function voir(obj,event) global rbg actuel_hndl = get(rbg,'SelectedObject'); actuel_str = get(actuel_hndl,'string'); disp(['Elément séléctionné ---> ' actuel_str]) end function quitter(obj,event) disp('by-by') delete(gcf) end |
function uimenu_test() fh = figure('menubar', 'none','units','normalized','Posit', [0.3 0.3 0.4 0.2]); m1 = uimenu(fh, 'label' ,'Menu 1'); m11 = uimenu(m1, 'label','Menu-1-A', 'Accelerator','A','callback',@menu1a); m12 = uimenu(m1, 'label','Menu-1-B', 'Accelerator','B','callback',@menu1b); m13 = uimenu(m1, 'label','Menu-1-C', 'Accelerator','C','callback',@menu1c); m14 = uimenu(m1, 'label','Menu-1-D', 'Accelerator','D','callback',@menu1d); m2 = uimenu(fh, 'label' ,'Menu 2'); m21 = uimenu(m2, 'label','Menu-2-A', 'callback',@menu2a); m22 = uimenu(m2, 'label','Menu-2-B'); uimenu(m22, 'label','Menu-2-B-V1', 'callback',@menu2b); uimenu(m22, 'label','Menu-2-B-V2', 'callback',@menu2b); uimenu(m22, 'label','Menu-2-B-V3', 'callback',@menu2b); m23 = uimenu(m2, 'label','Menu-2-C', 'callback',@menu2c); m24 = uimenu(m2, 'label','Menu-2-D', 'callback',@menu2d); ed = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [0.1 0.1 0.8 0.2] ); function menu1a(obj,event) pere = get(obj, 'parent'); set(ed,'string',['Vous avez sélectionné ' get(pere, 'Label') '--> ' get(obj,'label')]) end function menu1b(obj,event) pere = get(obj, 'parent'); set(ed,'string',['Vous avez sélectionné ' get(pere, 'Label') '--> ' get(obj,'label')]) end function menu1c(obj,event) pere = get(obj, 'parent'); set(ed,'string',['Vous avez sélectionné ' get(pere, 'Label') '--> ' get(obj,'label')]) end function menu1d(obj,event) pere = get(obj, 'parent'); set(ed,'string',['Vous avez sélectionné ' get(pere, 'Label') '--> ' get(obj,'label')]) end function menu2a(obj,event) pere = get(obj, 'parent'); set(ed,'string',['Vous avez sélectionné ' get(pere, 'Label') '--> ' get(obj,'label')]) end function menu2b(obj,event) p = get(obj, 'parent'); gp = get(p, 'parent'); pl = get(p, 'Label'); gpl = get(gp, 'Label'); ol = get(obj, 'label'); set(ed,'string',['Vous avez sélectionné ' , gpl, '--> ' pl '--> ' ol]) end function menu2c(obj,event) pere = get(obj, 'parent'); set(ed,'string',['Vous avez sélectionné ' get(pere, 'Label') '--> ' get(obj,'label')]) end function menu2d(obj,event) pere = get(obj, 'parent'); set(ed,'string',['Vous avez sélectionné ' get(pere, 'Label') '--> ' get(obj,'label')]) end end |
Accelerator | permet de définir un raccourci clavier |
Busyaction | |
Callback | Définit la fonction qui sera appelée quand l'élément de menu est sélectionné |
Children | Retourne les identificateurs des menu fils |
Enable | définit si le contrôle est opérationnel ou non. Elle peut prendre les valeurs {on} | inactive | off |
Label | Titre du menu ou de l'élément du menu |
Parent | Retourne l'identificateur du père |
Position | Position par rapport au père. On peut changer les unités à l'aide de la propriété units |
Separator | |
Visible | Définit si le groupe de bouton est visible ou pas, il peut prendre les valeur on ou off |
function uitoolbar1() close all; fh = figure('menubar','none','units','normalized','position', [0.5 0.5 0.25 0.1]); ed = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [0.1 0.2 0.8 0.4]); uitb = uitoolbar(fh); im = imread('images/play16.png'); uipushtool(uitb, 'CData',im,'TooltipString','Play', 'clickedcallback', @play); im = imread('images/pause16.png'); uipushtool(uitb, 'CData',im,'TooltipString','Pause', 'clickedcallback', @pause); im = imread('images/stop16.png'); uipushtool(uitb, 'CData',im,'TooltipString','Stop', 'clickedcallback', @stop); function play(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PLAY') end function pause(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PAUSE') end function stop(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton STOP') end end |
function uitoolbar2() % Les fonctions callback sont imbriquées dans la fonction principale pour % partager leurs variables avec elle close all; fh = figure('menubar','none','units','normalized','position', [0.5 0.5 0.25 0.1]); ed = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [0.1 0.2 0.8 0.4]); uitoolbar(fh); png_button('images/play.png','Play', @play); png_button('images/pause.png', 'Pause', @pause); png_button('images/stop.png', 'Stop', @stop); png_button('images/nexttrack.png', 'Suivant', @next); png_button('images/previoustrack.png', 'Précédent', @previous); png_button('images/play-music.png', 'Musique', @musique); function play(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PLAY') end function pause(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PAUSE') end function stop(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton STOP') end function next(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton SUIVANT') end function previous(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PRECEDENT') end function musique(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton MUSIQUE') end end function png_button(imfile, ttip, call) % récupérer la couleur de fond des objets matlab bgcol = get(0,'factoryUicontrolBackgroundColor'); % lire le fichier image et affecter la couleur de fond aux zones % transparentes im = imread(imfile,'png','BackgroundColor',bgcol); % si la taille de l'image est supérieure à 16x16, la redimensionner l = size(im); if l(1) > 16 || l(2) > 16 im = imresize(im, [16 16]); end % rajouter l'image à la barre d'outil courante. uipushtool('CData',im,'TooltipString',ttip, 'ClickedCallback', call); end |
function uitoolbar3() % Les fonctions callback sont imbriquées dans la fonction principale pour % partager leurs variables avec elle %close all; fh = figure('menubar','none','units','normalized','position', [0.5 0.5 0.25 0.1]); ed = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [0.1 0.2 0.8 0.4]); uitoolbar(fh); ico_button('images/play.ico','Play', @play); ico_button('images/pause.ico', 'Pause', @pause); ico_button('images/stop.ico', 'Stop', @stop); ico_button('images/nexttrack.ico', 'Suivant', @next); ico_button('images/previoustrack.ico', 'Précédent', @previous); ico_button('images/music.ico', 'Musique', @musique); function play(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PLAY') end function pause(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PAUSE') end function stop(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton STOP') end function next(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton SUIVANT') end function previous(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PRECEDENT') end function musique(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton MUSIQUE') end end function ico_button(imfile, ttip, call) % lire le fichier, on obtient une image indexée % idx: matrice des indices, pal : palette de couleurs, trans=matrice de % transparence: trans=1 => pixel transparent (couleur de fond) [idx, pal, tran] = imread(imfile); % ajouter la couleur de fond en queue de palette. Dans le cas d'une % image 256 couleurs, son indice sera 256, il faut donc changer le type % de la patrices des indices de uint8 à uint16 bgcol = get(0,'factoryUicontrolBackgroundColor'); pal = [pal; bgcol]; idx = uint16(idx); %pour recevoir des valeur > 255 (dernière ligne de pal) %remplacer les indices (transparent) de idx par l'indice de la dernière ligne de pal %les indices sont incrémnetés au moment de l'accès à la palette.(0 --> 1ère ligne) idx(tran == 1) = length(pal)-1; %transformer l'image indexée en image RGB im = ind2rgb(idx, pal); % rajouter l'image obtenue à la barre d'outil courante uipushtool('CData',im,'TooltipString',ttip, 'ClickedCallback', call); end |
function uitoolbar4() % Les fonctions callback sont imbriquées dans la fonction principale pour % partager leurs variables avec elle %close all; fh = figure('menubar','none','units','normalized','position', [0.5 0.5 0.25 0.1]); ed = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [0.1 0.2 0.8 0.4]); uitoolbar(fh); ico_button('images/play.ico','Play', @play); ico_button('images/pause.ico', 'Pause', @pause); ico_button('images/stop.ico', 'Stop', @stop); ico_button('images/nexttrack.ico', 'Suivant', @next); ico_button('images/previoustrack.ico', 'Précédent', @previous); ico_button('images/music.ico', 'Musique', @musique); function play(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PLAY') end function pause(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PAUSE') end function stop(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton STOP') end function next(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton SUIVANT') end function previous(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton PRECEDENT') end function musique(o, e) set(ed, 'string', 'Vous avez cliqué sur le bouton MUSIQUE') end end function ico_button(imfile, ttip, call) [idx, map, alpha] = imread(imfile); im = ind2rgb(idx, map); % indéxé vers RGB % sans transparence uipushtool('CData',im,'TooltipString',ttip, 'ClickedCallback', call); %avec transparence alpha = alpha(:,:,[1 1 1]); %cat(3,alpha,alpha,alpha) bgcol = get(0,'factoryUicontrolBackgroundColor'); im(alpha == 1) = bgcol(1); uipushtool('CData',im,'TooltipString',ttip, 'ClickedCallback', call); end |
function uitoolbar5() % Les fonctions callback sont imbriquées dans la fonction principale pour % partager leurs variables avec elle %close all; fh = figure('menubar','none','units','normalized','position', [0.5 0.3 0.25 0.3]); x = 0.1; y = 0.05; w = 0.8; h = 0.1; g = h +0.05; ed1 = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [x y w h]); ed2 = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [x y+g w h]); ed3 = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [x y+2*g w h]); ed4 = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [x y+3*g w h]); ed5 = uicontrol(fh, 'style', 'Edit','units','normalized','Posit', [x y+4*g w h]); uitoolbar(fh); ico_button('images/play.ico','Play', @playon, @playoff); ico_button('images/pause.ico', 'Pause', @pauseon, @pauseoff); ico_button('images/stop.ico', 'Stop', @stopon, @stopoff); ico_button('images/nexttrack.ico', 'Suivant', @nexton, @nextoff); ico_button('images/previoustrack.ico', 'Précédent', @previouson, @previousoff); S = {'rlaché' 'Enfoncé'}; function playon(obj, event) set(ed5, 'string', 'Le bouton PLAY est ON') end function playoff(obj, event) set(ed5, 'string', 'Le bouton PLAY est OFF') end function pauseon(obj, event) set(ed4, 'string', 'Le bouton PAUSE est ON') end function pauseoff(obj, event) set(ed4, 'string', 'Le bouton PAUSE est OFF') end function stopon(obj, event) set(ed3, 'string', 'Le bouton STOP est ON') end function stopoff(obj, event) set(ed3, 'string', 'Le bouton STOP est OFF') end function nexton(obj, event) set(ed2, 'string', 'Le bouton NEXT est ON') end function nextoff(obj, event) set(ed2, 'string', 'Le bouton NEXT est OFF') end function previouson(obj, event) set(ed1, 'string', 'Le bouton PRÉCEDENT est ON') end function previousoff(obj, event) set(ed1, 'string', 'Le bouton PRÉCEDENT est OFF') end end function ph = ico_button(imfile, ttip, oncall, offcall) % lire le fichier, on obtient une image indexée % idx: matrice des indices, pal : palette de couleurs, trans=matrice de % transparence: trans=1 => pixel transparent (couleur de fond) [idx, pal, tran] = imread(imfile); % ajouter la couleur de fond en queue de palette. Dans le cas d'une % image 256 couleurs, son indice sera 256, il faut donc changer le type % de la patrices des indices de uint8 à uint16 bgcol = get(0,'factoryUicontrolBackgroundColor'); pal = [pal; bgcol]; idx = uint16(idx); %pour recevoir des valeur > 255 (dernière ligne de pal) %remplacer les indices (transparent) de idx par l'indice de la dernière ligne de pal %les indices sont incrémnetés au moment de l'accès à la palette.(0 --> 1ère ligne) idx(tran == 1) = length(pal)-1; %transformer l'image indexée en image RGB im = ind2rgb(idx, pal); % rajouter l'image obtenue à la barre d'outil courante uitoggletool('CData',im,'TooltipString',ttip, 'OnCallback', oncall, 'OffCallback', offcall); end |