Disable middle mouse button interaction with axes

Is it possible to disable the middle mouse button interacting with axes?
The two solutions I've seen so far are:
1) disable all mouse interactions
2) override the mouse down function on the axes
I'd like to maintain interactivity and not block the button down function. Is there a more specific approach that can be used?

回答 (1 件)

Aditya
Aditya 2025 年 12 月 17 日

0 投票

Hi Jim,
There is no built-in MATLAB property or callback to specifically disable only the middle mouse button’s default interaction with axes (like panning/zooming), while leaving all other interactions untouched and without blocking the ButtonDownFcn.A. Custom WindowButtonDownFcn Filtering
This can be a workaround , You can set a WindowButtonDownFcn on the figure, check if the middle button is pressed, and (optionally) interrupt or ignore the event. You cannot truly "block" the built-in pan/zoom/rotate tools from within this callback.
fig = gcf;
fig.WindowButtonDownFcn = @(src,evt) ...
disp(['Button: ', num2str(fig.SelectionType)]);
  • fig.SelectionType will be 'extend' for middle mouse.
  • You could, for example, set the pan tool off if middle is detected.

カテゴリ

ヘルプ センター および File ExchangeInteractive Control and Callbacks についてさらに検索

製品

リリース

R2024b

タグ

質問済み:

2025 年 12 月 10 日

回答済み:

2025 年 12 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by