我在Matlab用户界面中插入了一个编辑框,我想限制用户可以键入的字符数。编辑框没有明显的属性(如“最大字符数”)。我尝试使用回调函数,验证编辑框上的当前字符串大小是否大于设置的限制并截断了第一个字符,但回调仅在单击编辑框外再单击时出现。限制Matlab用户界面编辑框中的字符串长度
你有什么想法如何做到这一点?
在此先感谢。
EDITED
正如Amro的建议,我试图把验证码的编辑框的KeyPressFcn回调里面。我输入以下代码:
function prefix_edit_KeyPressFcn(hObject, eventdata, handles)
text = get(hObject, 'String');
if length(text) > 15
set(hObject, 'String', text(1:15));
end
的问题是,当我输入的东西编辑框中字符串只改,按Enter键,然后再次尝试输入一些东西。看起来KeyPressFcn只在按下Enter之后调用(如Amro建议的论坛帖子中所述)。
论坛中提出的解决方案似乎太复杂了,因为这样一个简单的任务。当然,必须有一个更优雅的方式...