pop up in address_book GUI demo with .mat file
Show older comments
hi all...
Could anyone show me how to use pop up menu in address_book gui demo rather than use push button menu??
thanks
Answers (3)
per isakson
on 27 May 2012
0 votes
15 Comments
Luhur
on 27 May 2012
Walter Roberson
on 27 May 2012
Using a pop-up menu is not different when one is using a .mat file.
Luhur
on 27 May 2012
Walter Roberson
on 27 May 2012
I do not have access to MATLAB today, so I cannot examine what they have done in that particular demo.
When you wrote "its different when using .mat file", did you mean that it is different when using GUIDE? The main difference when using GUIDE is that GUIDE likes to name the functions according to what kind of uicontrol is being used. The change at the MATLAB level between a pushbutton and a pop-up is very small, just set the uicontrol 'style' property to 'popup'
Luhur
on 27 May 2012
Walter Roberson
on 27 May 2012
It would be much easier if you were to ask specific questions.
Luhur
on 27 May 2012
Walter Roberson
on 27 May 2012
To adapt, use this routine as the callback for the popup menu, but do not pass any string in to it.
Instead, at the top,
menuval = get(hObject, 'Value');
menustrings = cellstr( get(hObject, 'String') );
str = menustrings{menuval};
And that's it for the code changes, provided that you set the popup menu to have entries 'Prev' and 'Next'
Luhur
on 28 May 2012
Walter Roberson
on 28 May 2012
function Prev_Next_Callback(hObject, eventdata, handles) %CHANGE
% hObject handle to Prev_Next (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
menuval = get(hObject, 'Value'); %NEW
menustrings = cellstr( get(hObject, 'String') ); %NEW
str = menustrings{menuval}; %NEW
% Get the index pointer and the addresses
index = handles.Index;
Addresses = handles.Addresses;
% Depending on whether Prev or Next was clicked change the display
switch str
case 'Prev'
% Decrease the index by one
i = index - 1;
[etc to the rest of the routine]
And have this routine be the callback for your popup menu.
Luhur
on 28 May 2012
Walter Roberson
on 28 May 2012
Use the property editor on that popup menu, and remove the comma and the 'Next' from the calling sequence.
Luhur
on 28 May 2012
Luhur
on 28 May 2012
Luhur
on 29 May 2012
Luhur
on 28 May 2012
Luhur
on 29 May 2012
0 votes
Categories
Find more on Argument Definitions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!