我想在一个名为“TYPE SEARCH HERE”的MATLAB GUI中有一个“编辑”框。 当用户点击框内,我想“类型搜索这里”消失,并给用户一个空的编辑框,开始输入...在MATLAB GUI中单击鼠标单击编辑框清除
任何想法?
我想在一个名为“TYPE SEARCH HERE”的MATLAB GUI中有一个“编辑”框。 当用户点击框内,我想“类型搜索这里”消失,并给用户一个空的编辑框,开始输入...在MATLAB GUI中单击鼠标单击编辑框清除
任何想法?
至少我的系统中,当我使用如下代码来设置一个用户输入框/窗口
prompt = 'Enter search terms:';
dlg_title = 'My input box';
num_lines = 1;
defAns = {'TYPE_SERACH_HERE'};
answer = inputdlg(prompt, dlg_title, num_lines, defAns);
默认的文本TYPE_SEARCH_HERE
高亮显示,这样我就可以开始输入用来替换什么我想要的。
编辑或者,如果你有一个现有的uicontrol
编辑框,你可以做类似如下:
function hedit = drawbox()
hedit = uicontrol('Style', 'edit',...
'String', 'deafult',...
'Enable', 'inactive',...
'Callback', @print_string,...
'ButtonDownFcn', @clear);
end
function clear(hObj, event) %#ok<INUSD>
set(hObj, 'String', '', 'Enable', 'on');
uicontrol(hObj); % This activates the edit box and
% places the cursor in the box,
% ready for user input.
end
function print_string(hObj, event) %#ok<INUSD>
get(hObj, 'String')
end
克里斯,你得在uicontrol边界点击使ButtonDownFcn发生。它不会发生,如果你点击里面编辑框
好吧,所以我有一个解决方案的问题,它的工作完美无瑕!
不过,我很不高兴,因为我完全不知道为什么它的工作原理...
使用以下代码:
功能myEditBoxTagGoesHere_ButtonDownFcn(hObject,EVENTDATA,句柄)
%Toggel “启用” 状态到ON
set(hObject,'Enable','On');
%创建UI控制
uicontrol(handles.myEditBoxTagGoesHere);
如果有人可以解释为什么uicontrol在鼠标左键单击时突出显示文本,那将非常棒!
好吧,点击两次就失败了。你知道如何在编辑框中点击时突出显示文字吗? – dewalla 2012-01-05 16:37:42
谢谢,但似乎它不能轻易完成。见下面的答案 – dewalla 2012-01-05 16:53:36