簡體   English   中英

MATLAB:用'ButtonDownFcn'關閉圖形時右鍵單擊窗口后面

[英]MATLAB : right click behind the window when closing a figure with a 'ButtonDownFcn'

我有一個特定的問題,可以在下面的小腳本中總結。 顯然它是一個更大項目的一部分。

此腳本(稱為'my_test.m')打開一個圖形並顯示圖像。 設置'ButtonDownFcn',以便在右鍵單擊圖像時關閉圖形

讓我煩惱的行為是,在關閉數字之后, 右鍵點擊會在后面的數字上激活 好像從來沒有一個人物。

您是否有想法防止此行為並告訴操作系統忽略右鍵單擊? 提前致謝。

組態:

  • Matlab:R2011b - 64位
  • Windows 7的

腳本:

function my_test()
handles.f=figure;
handles.a=imshow(ones(400));
set(handles.a,'ButtonDownFcn',{@image_ButtonDownFcn});
guidata(handles.f,handles);

function image_ButtonDownFcn(hObject, eventdata)
handles=guidata(hObject);
switch lower(get(handles.f, 'selectiontype'))
  case 'alt' % right click
    close(handles.f);
end

感謝Lucius Domitius AhenobarbusRTL ,我修改了代碼並且它有效。 我剛剛更換了這一行:

close(handles.f);

......這一個:

set(handles.f,'WindowButtonUpFcn','close(gcf);');

我們的想法是使用圖中的'WindowButtonUpFcn'(圖像或軸沒有這樣的回調),這樣在鼠標點擊時沒有任何反應,但是在鼠標點擊釋放后圖形自動關閉。 可能有更整潔的解決方案?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM