У меня небольшая проблема с моим keypressfcn
. Если пользователь что-то вводит в поле редактирования, я хотел бы запустить функцию из другого m-файла, если он нажал клавишу ввода.
На самом деле это выглядит так:
% --- Executes on key press with focus on ET_variabelpos_9 and none of its controls.
function ET_variabelpos_9_KeyPressFcn(hObject, eventdata, handles)
% hObject handle to ET_variabelpos_9 (see GCBO)
% eventdata structure with the following fields (see UICONTROL)
% Key: name of the key that was pressed, in lower case
% Character: character interpretation of the key(s) that was pressed
% Modifier: name(s) of the modifier key(s) (i.e., control, shift) pressed
% handles structure with handles and user data (see GUIDATA)
%Modifier um zu überprüfen, ob die Pfeiltastengedrückt wurden
val=double(get(gcf,'CurrentCharacter'))
%28 => leftArrow
%29 => rightArrow
%30 => upArrow
%31 => downArrow
if val == 30
sw1 = get(handles.ET_variabelpos_9,'String')
%Relative Position anfahren (Hoch)
gotorelativ_up_function(sw1,0,8);
elseif val == 31
sw1 = get(handles.ET_variabelpos_9,'String')
%Relative Position anfahren (Hoch)
gotorelativ_down_function(sw1,0,8);
end
Читаю значение из EditText и передаю в функцию gotorelativ_down_function
или gotorelativ_up_function
.
Он отлично работает, единственная проблема заключается в том, что пользователю нужно дважды нажать Enter, чтобы получить текущее значение edittext.