Figure 上でマウスの左/右クリックを識別し、別々のコールバックを設定するにはどうすればよいですか?
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 8 Mar 2017
Réponse apportée : MathWorks Support Team
le 8 Mar 2017
Figure 上の座標軸上で、マウスを左クリックしたときと、右クリックしたときで、異なるコールバック処理を行う方法を教えてください。
Réponse acceptée
MathWorks Support Team
le 9 Mar 2018
Figure の SelectionType プロパティの値によって、Figure が選択されたときのマウスクリックの種類を識別することができます。
Figure の SelectionType プロパティの詳細については、以下の URL よりヘルプドキュメントをご覧ください。
・MATLAB ヘルプドキュメント:Figure プロパティ
https://jp.mathworks.com/help/matlab/ref/figure-properties.html#property_SelectionType
以下の例では、Axes の ButtonDownFcn コールバックを用いて、左クリックと右クリックを識別するプログラム(myGUI.m)です。
% myGUI.m
function myGUI
figure;
plot(1:10)
ax = gca;
% Axes の ButtonDownFcnコールバックを設定
set(ax,'ButtonDownFcn', @mybdfun)
function mybdfun(src,eventdata)
% ButtonDownCallBack の内容
h = get(src,'Parent'); % Axes の親オブジェクト= Figure のハンドル取得
Stype = get(h, 'SelectionType');
% クリックの種類を判別
if strcmp(Stype,'normal') % 左クリック
disp('Left Click')
elseif strcmp(Stype,'alt') % 右クリック
disp('Right Click')
end
end
end
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 対話型コントロールとコールバック dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!