Give focus to an Edit Field

36 ビュー (過去 30 日間)
Morten Haastrup
Morten Haastrup 2017 年 8 月 21 日
編集済み: Adam Danz 2022 年 4 月 5 日
In the app I'm making, I need to move the cursor to a textbox when I press a button such that it is ready for input. I tried placing
uicontrol(app.DistanceEditField)
in the callback for the button but it doesn't work because I’m using App Designer (MATLAB R2017a). Is there a similar way that would work in the App Designer?

採用された回答

Elizabeth Reese
Elizabeth Reese 2017 年 8 月 24 日
This functionality with "uicontrol" is currently unavailable in App Designer. I have forwarded your feedback to our developers and they will consider adding support for this in a future release of MATLAB.
  13 件のコメント
dpb
dpb 2021 年 9 月 29 日
And it's now over 4 years since submitted... :(
Ralf Ritter
Ralf Ritter 2021 年 12 月 8 日
This feature would be really helpful.

サインインしてコメントする。

その他の回答 (1 件)

Adam Danz
Adam Danz 2020 年 8 月 20 日
編集済み: Adam Danz 2022 年 4 月 5 日
In MATLAB R2022a and later
Using AppDesigner in MATLAB R2022a and later, control tab/focus order in AppDesigning using the new Tab Order tool which is highlighted in this Community Highlight. Additionally, specify focus to a specific UI component using the new focus function introduced in 22a which is highlighted in this Community Highlight..
For example, the callback function to a ui button could set the focus to a specified ui component.
In MATLAB R2020b and later
Starting in MATLAB R2020b, control the tab order of ui objects by changing their stack order (using AppDesigner or uicontrol). AppDesigner provides the Reorder tool found in Design View > Canvas tab or by right-clicking a component in the Component Browswer and selecting Reorder from the context menu (see R2020b release notes and a screenshot in the Answers forum ). Users can then tab to the next UI component. Recall that the top-to-bottom order of components in the Component Browswer is in reverse order of the tab/focus-order so moving a component backwards shifts its focus order forward in the stack.
Prior to R2020b
To change the focus order of ui components in AppDesigner prior to R2020b, you could use HierarchyViewer from the file exchange.
This answer has been updated to reflect new features that were released after the original answer as written.
  2 件のコメント
Eliot Mayer
Eliot Mayer 2021 年 5 月 14 日
Adam Danz - Thank you for pointing out the Re-Order tool. I think that will address my issue.
Steffen
Steffen 2022 年 1 月 27 日
You can also automate the TAB pressing task by using a robot:
robot = java.awt.Robot;
robot.keyPress(java.awt.event.KeyEvent.VK_TAB);
robot.keyRelease(java.awt.event.KeyEvent.VK_TAB);
Thus, after pressing the Button you directly get to the text field an can start to write without any further action.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMigrate GUIDE Apps についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by