基本的に私は本当に複雑なMatlab GUIを持っています。ここで、ユーザーはeditextbox(入力可能なもの)によって異なる文字列を追加できます。問題は、異なるキーボードボタンのプッシュダウンに異なる機能を割り当てたことです。たとえば、 's'や 'e'が使用されています。例えば 'snake'のように入力しようとするたびに、 's'と 'e'に割り当てられた関数が実行されます。私がedittextboxをクリックしたことを判断する方法はありますか?それは使用中です - 論理値のように、私はそれをチェックすることによってkeypressfunctionsをブロックすることができます。MATLAB GUIのedittextboxが使用されているかどうかを確認してください
2
A
答えて
0
コールバック内では、gco
を使用して現在のオブジェクトを取得できます。次に、これが編集ボックスのグラフィックスハンドルであるかどうかを確認できます。一方、あなたはグローバルキーを押したときのコールバックを設定しなかった場合は
fig = figure('WindowKeyPressFcn', @(s,e)keypress());
hedit = uicontrol('Style', 'edit');
function keypress()
if ~isequal(gco, hedit)
disp('Window Key Press')
end
end
だけでエディットボックスの異なる(あるいはまったく)KeyPressFcn
を指定していない、(WindowKeyPressFcn
を使用して)、あなたは代わりに個別にuicontrol
のKeyPressFcn
を設定うまくいくでしょう。
関連する問題
- 1. ファイルがアップロードされているかどうか確認してください。
- 2. matlabハンドルがFigureハンドルかどうか確認してください
- 3. ステータスバーが隠れているかどうかを確認してください
- 4. DLLが別のアプリケーションで使用されているかどうかを確認してください
- 5. ファイルがMatlabで開かれているかどうか確認してください
- 6. Swift 3どのセグが使用されたか確認してください
- 7. RunOnUiThreadが必要かどうか確認してください。
- 8. Curlドメインがルートかどうか確認してください。
- 9. DrawableResがVectorDrawableかどうか確認してください
- 10. テスト:タプルが返されるかどうか確認してください。
- 11. プロセスがアイドリングしているかどうかを確認してください。
- 12. flinkがサポートしているかどうかを確認してください。
- 13. ログイン中にユーザーがdeviseを使用して確認したかどうか確認してください
- 14. サーベイサルのアンケートがAPIを使用して削除されたかどうか確認してください
- 15. オブジェクトがリリースされたかどうかを確認してください。
- 16. QColorDialogがキャンセルされたかどうかを確認してください。
- 17. カラム名が渡されたかどうかを確認してください。
- 18. SPARQLクエリを使用してプロパティが機能しているかどうかを確認してください
- 19. どのマウスボタンが押されているか、ダブルクリックされていないか確認してください。
- 20. Plone:フォームが提出されたかどうか確認してください。
- 21. マウスクリックが処理されたかどうか確認してください
- 22. リンクされたリストが回文かどうか確認してください
- 23. program_optionsが追加されたかどうか確認してください
- 24. sedコマンドが変更されたかどうか確認してください。
- 25. クライアントがurllib2を使用してphpページにアクセスしているかどうか確認してください
- 26. linuxで実行されているMATLABスクリプトを確認してください
- 27. ファイルがcodeigniterでアップロード用に選択されているかどうかを確認してください
- 28. OAuth 2.0が既に承認されているかどうかを確認してください
- 29. 誰かがNginx、Apache、Lighttpdを使用しているかどうかを確認してください
- 30. アップロードファイルがパスワードで保護されているか確認していないか確認してください。
ありがとうございました! マイボタンのコールバックはグローバルでした。 –