Returning values in a GUI Callback

How do you return a value from the callback routine(File_Select_Callback), back up to the calling routine (Selection), In the following example,
What I want is the directory path from the* uigetfile* function back up to the calling funtion.
function Selection
Input_Select = uicontrol('Style','pushbutton','String','
Select Inoput File', 'Position', [300 50 100 25],
'Callback'...,{@File_Select_Callback});
end
*function File_Select_Callback* (hObject,eventdata)
[filename,Path] = *uigetfile*('*.*','Select the File', 'MultiSelect','on');
end

Respuestas (2)

Sean de Wolski
Sean de Wolski el 23 de Abr. de 2012

1 voto

most Callbacks do not return output arguments. What it looks like you want it for the UICONTROL, upon being pushed, to return stuff. This will not work. Instead once you get the filename and path, store these to application data (setappdata/getappdata) or to the field of another uicontrol (perhaps a static text box). You can then access these from elsewhere.

2 comentarios

Walter Roberson
Walter Roberson el 23 de Abr. de 2012
*Most* callbacks. zoom ButtonDownFilter is an example of something that is designated a callback but returns a value.
Sean de Wolski
Sean de Wolski el 23 de Abr. de 2012
true!

Iniciar sesión para comentar.

Walter Roberson
Walter Roberson el 23 de Abr. de 2012

1 voto

It is not possible to return a value from most callbacks; you can only return a value from filter functions such as the zoom ButtonDownFilter.

Categorías

Más información sobre Interactive Control and Callbacks en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 23 de Abr. de 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by