Figure 上でマウスの左/右クリックを識別し、別々のコールバックを設定するにはどうすればよいですか?
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 8 Mär. 2017
Beantwortet: MathWorks Support Team
am 8 Mär. 2017
Figure 上の座標軸上で、マウスを左クリックしたときと、右クリックしたときで、異なるコールバック処理を行う方法を教えてください。
Akzeptierte Antwort
MathWorks Support Team
am 9 Mär. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 対話型コントロールとコールバック finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!