MATLAB ヘルプ センター
UI コンポーネントにフォーカスを移動
R2022a 以降
focus(c)
focus(c) は、UI コンポーネント c にキーボード フォーカスを移します。
c
UI コンポーネントで focus を呼び出すと次の効果があります。
focus
そのコンポーネントを含む Figure が他のすべての Figure の前面に表示される。
その UI コンポーネントが青いフォーカス リング付きで表示される。
その UI コンポーネントをアプリ ユーザーがキーボードを使用して操作できる。
例
すべて折りたたむ
ラベル、ドロップダウン コンポーネント、および 2 つのボタンをもつ UI Figure を作成します。[OK] ボタンにキーボード フォーカスを移して既定のボタンにします。ユーザーは Enter キーまたはスペース キーを押すことで、そのボタンを押すことができます。
fig = uifigure(Position=[500 500 300 100]); gl = uigridlayout(fig,[2 2]); lbl = uilabel(gl,Text="Select a color:"); dd = uidropdown(gl,Items=["Red" "Green" "Blue"]); btn1 = uibutton(gl,Text="OK"); btn2 = uibutton(gl,Text="Cancel"); focus(btn1)
現在のフォルダー内に新しいスクリプト ファイルを作成します。スクリプトで、UI Figure と 2 行のグリッド レイアウト マネージャーを作成します。最初の行にボタンを追加し、そのボタンをユーザーが押したときにアプリで createTextArea という名前のコールバック関数を実行するように指定します。そのボタンにキーボード フォーカスを移します。
createTextArea
fig = uifigure(Position=[500 500 300 200]); gl = uigridlayout(fig); gl.RowHeight = ["1x" "3x"]; gl.ColumnWidth = "1x"; btn = uibutton(gl,Text="Enter Comment", ... ButtonPushedFcn=@createTextArea); focus(btn)
ファイルの下部で関数 createTextArea を定義します。関数で、グリッド レイアウト マネージャーの 2 番目の行にテキスト エリアを作成します。次に、そのテキスト エリアにキーボード フォーカスを移します。
function createTextArea(src,event) gl = src.Parent; ta = uitextarea(gl); focus(ta) end
スクリプトを実行します。Enter キーを押すと ButtonPushedFcn コールバックが実行され、テキスト エリアが表示されてキーボード フォーカスが移ります。これにより、テキスト エリアに入力できます。
ButtonPushedFcn
Button オブジェクトや EditField オブジェクトなど、フォーカスを移す UI コンポーネント。
Button
EditField
フォーカス可能な UI コンポーネントとは、ユーザーがキーボードを使用して操作できる UI コンポーネントです。UI コンポーネントにはフォーカス可能でないものもあります。これには、ほとんどのコンテナーのほか、Enable または Visible が 'off' に設定されたコンポーネントが含まれます。
Enable
Visible
'off'
R2022a で導入
uifigure | uibutton | uitextarea
uifigure
uibutton
uitextarea
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ