PDA

View Full Version : [MATLAB] callback di una uicontrol


Squall_Unreal
24-03-2011, 12:39
Ciao ho il seguente problema...o meglio...vorrei sapere se è possibile fare una cosa del genere...


C = {'ciao' 'si' 'no' 'come è'};
hg1 = uibuttongroup('Units','normalized','Position',[.01 .5 .180 .52]);

for i=1:length(C);

hstruct.hb(i) = uicontrol(hg1,'Style','Radiobutton',...
'Units','normalized',...
'Position',[xx0 zz0 dxx dzz],...
'FontSize',10,...
'String', C(i),'Callback',??????);
zz0=zz0-(1/length(C));
end


in pratica ho un ciclo for che mi genera tanti radio button quanti sono gli elementi in C...il problema è...come faccio a definire la funzione di callback per sapere quale è stato schiacciato?????
io pensavo a un vettore di callback solo che provando matlab mi restituisce errore...è possibile fare una cosa del genere? oppure un altro metodo per risolvere questo problema c'è?

grazie...:help:

Rsk
24-03-2011, 20:34
Controlla se questo (http://www.mathworks.com/help/techdoc/creating_guis/f10-998412.html#brrll58-1) può esserti utile

Squall_Unreal
25-03-2011, 08:18
Controlla se questo (http://www.mathworks.com/help/techdoc/creating_guis/f10-998412.html#brrll58-1) può esserti utile

però in quell'esempio vanno definiti tutti i bottoni...io volevo fare una cosa più robusta...nel senso mettere i dati in una stringa...in modo che se in futuro devo aggiungere qualcosa basta mettere li dentro e sono a posto...e poi i radio button crearli con un for in base alla dimensione della variabile che mi contiene queste stringe...solo che ho problemi a definire la callback...perchè se la chiami "normale" ovviamente ciclando il for si sovrascrive...ho provato a creare un vettore per le callback ma matlab mi dà errore...non so se la funzione che mi hai messo te mi possa cambiare molto...:help: