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 个)

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 Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

产品

版本

R2024b

标签

回答:

2025-12-17

Community Treasure Hunt

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

Start Hunting!

Translated by