Figure 上でマウスの左/右ク​リックを識別し、別々​のコールバックを設定​するにはどうすればよ​いですか?

13 Ansichten (letzte 30 Tage)
MathWorks Support Team
MathWorks Support Team am 8 Mär. 2017
Figure 上の座標軸上で、マウスを左クリックしたときと、右クリックしたときで、異なるコールバック処理を行う方法を教えてください。
 

Akzeptierte Antwort

MathWorks Support Team
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

Weitere Antworten (0)

Kategorien

Mehr zu 対話型コントロールとコールバック finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!