pop up in address_book GUI demo with .mat file
Afficher commentaires plus anciens
hi all...
Could anyone show me how to use pop up menu in address_book gui demo rather than use push button menu??
thanks
Réponses (3)
per isakson
le 27 Mai 2012
0 votes
15 commentaires
Luhur
le 27 Mai 2012
Walter Roberson
le 27 Mai 2012
Using a pop-up menu is not different when one is using a .mat file.
Luhur
le 27 Mai 2012
Walter Roberson
le 27 Mai 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
le 27 Mai 2012
Walter Roberson
le 27 Mai 2012
It would be much easier if you were to ask specific questions.
Luhur
le 27 Mai 2012
Walter Roberson
le 27 Mai 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
le 28 Mai 2012
Walter Roberson
le 28 Mai 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
le 28 Mai 2012
Walter Roberson
le 28 Mai 2012
Use the property editor on that popup menu, and remove the comma and the 'Next' from the calling sequence.
Luhur
le 28 Mai 2012
Luhur
le 28 Mai 2012
Luhur
le 29 Mai 2012
Luhur
le 28 Mai 2012
Luhur
le 29 Mai 2012
0 votes
Catégories
En savoir plus sur Argument Definitions dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!