MATLAB: GUI editbox can’t evoke a pushbotton


I'm working on a GUI design and I created a edit box and a pushbutton. Shown in the picture below.
What I would like to achieve is that when I type some words in the editbox, if the length of the string I type in is greater than 5, I would like to evoke the pushbotton on the right by doing to things – 1) The string for the pushbutton 'next' will appear on the pushbutton; and 2) the pushbutton will be enabled.
However, the code I worte under 'edit1_Callback' doesn't seem to evoke the pushbotton at all. Why?

Best Answer

  • Callback for uicontrol style edit do not get invoked until the user presses enter or the user moves focus elsewhere. If you need control per key then you need the key press callback. However when you use the key press callback then the String property is not updated until the circumstances under which the Callback would be invoked and the display is not updated if you change the String property, so you have to keep track of characters yourself including keeping track of user deletion characters.