How can I add 'delete' button to listdlg?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hello all! Well I have such code
% code
s.a=2;
s.b=3;
s.c=4;
s.d=5;
str=fieldnames(s);
[s,v] = listdlg('PromptString','Select a file:',...
'SelectionMode','single',...
'ListString',str)
That gives me a figure where are only 'ok' and 'cancel' buttons as default, but now I want to have delete button with which I will be able delete selected variable from s structure. Any ideas would be a great job for me, Thanks in advance.
0 comentarios
Respuestas (1)
Stephen23
el 16 de Feb. de 2015
Editada: Stephen23
el 16 de Feb. de 2015
The standard listdlg does not support adding other buttons (or features), but one of the neat things about MATLAB is you can often adapt MATLAB's own code for your own purposes: you could rewrite the listdlg function to include another button, and make it do whatever you want it to do. Start by opening listdlg:
open listdlg
and then save a copy in your working directory, changing both the function and file names.
Then search for bushbutton: you will find three instances of uicontrol that are used to define the two standard and open optional button: you can easily change the code to add new buttons and features. You will need to read about uicontrol and understand how callback functions work. You will need to consider how to keep track of the cell of strings listString and change this using the delete button, and also how to refresh the listbox uicontrol when this happens.
2 comentarios
Stephen23
el 16 de Feb. de 2015
Editada: Stephen23
el 16 de Feb. de 2015
Consider doing this instead using two list boxes: one for selecting, one for deleting. This would mean you could use the standard listdlg and keep these two functionalities separate. This would be simpler code than rewriting the listdlg function.
Ver también
Categorías
Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!