End Guide GUI with Enter Button

5 visualizaciones (últimos 30 días)
Douglas Anderson
Douglas Anderson el 30 de Mayo de 2018
Comentada: Douglas Anderson el 30 de Mayo de 2018
Hello!
I have a simple GUIDE GUI that has four edit boxes to gather information, and a "Done" button at the bottom. I use uicontrol(handles.editbox1) to put the cursor at the top editbox, and the user can Tab down through the boxes and then to the Done button. At that point, the user can exit by clicking on the Done button, but it would be much cleaner to have them just press "Enter".
Is this properly done in the KeyPressFcn callback for handles.done_button? And do you just see if getkey == 13 in eventdata? I am not sure where this is documented!
Thanks!

Respuesta aceptada

Walter Roberson
Walter Roberson el 30 de Mayo de 2018
Yes, keypressfcn is suitable for this. The eventdata will have a structure for which the field Key will contain 'return' in this case.
  3 comentarios
Walter Roberson
Walter Roberson el 30 de Mayo de 2018
Example:
but = uicontrol('style','push', 'String', 'Type here', 'keypressfcn', @(hObject, eventdata) disp(eventdata.Key))
In your situation, I would suggest:
function done_Callback(hObject, eventdata, handles)
finish_up(hObject, eventdata, handles);
function done_KeyPressFcn(hObject, eventdata, handles)
if strcmp(eventdata.Key, 'return')
finish_up(hObject, eventdata, handles);
end
where finish_up contains whatever content you would normally have put directly into done_Callback
Douglas Anderson
Douglas Anderson el 30 de Mayo de 2018
Perfect! Thank you!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Productos


Versión

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by