MATLAB编辑焦点和光标放置

问题描述 投票:0回答:1

我使用uicontrol命令专注于我的编辑对象。执行此命令后,将选择uicontrol中的字符串。如何将光标放在最后一个字符后?

这是我的代码。

H = figure;
E1 = uicontrol( 'Parent', H, 'Style', 'Edit', 'String', 'ABC', 'Units', 'Normalized', 'Position', [0.1,0,0.1,0.1] );
T1 = uicontrol( 'Parent', H, 'Style', 'Text', 'String', 'ABC', 'Units', 'Normalized', 'Position', [0.2,0,0.1,0.1] );
uicontrol( E1 )
matlab user-interface
1个回答
1
投票

您尝试做的事情无法通过纯Matlab代码实现。您必须与底层Java组件进行交互...为此您需要非内置函数findjobj

这是一个例子:

len = numel(E1.String);
jEdit = findjobj(E1);

uicontrol(E1);
jEdit.setCaretPosition(len);
jEdit.setSelectionStart(len);
jEdit.setSelectionEnd(len);
© www.soinside.com 2019 - 2024. All rights reserved.