Is it possible to add a new variable to a popup menu while the GUI is running?

Hello,
I am writing a code that goes as follows:
% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
Addition=inputdlg('Please Add New Client Name');
With this code, when the user clicks the push button an input dialog box will pop up for them to add a new client name. I then want to take this client name and add it as a new variable in the previously created pop-up menu. Is this possible?

 Réponse acceptée

Walter Roberson
Walter Roberson le 23 Mai 2013
Modifié(e) : Walter Roberson le 15 Août 2017
current_entries = cellstr(get(handles.popupmenu1, 'String'));
current_entries{end+1} = Addition;
set(handles.popupmenu1, 'String', current_entries);

5 commentaires

I get an error when I do this. Error using set Cell array of strings may only contain string and numeric matrices
I am not sure why that is since "Addition" holds a string value.
I figured it out. Thank you very much!!!
Can you tell me how did you fix it?
there is a missing quote at third line
Good point, Libros Construccion; I have edited the quote into place.

Connectez-vous pour commenter.

Plus de réponses (1)

I'm not sure what you mean by 'add it as a new variable in the previously created pop-up menu'. If you want to set the default string that is shown in the dialog box use answer=inputdlg(prompt,dlg_title,num_lines,defAns) and set defAns to your last answer.

1 commentaire

I want to take the user input and add that as a new variable to the pop-up menu I created.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Entering Commands 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!

Translated by