필터 지우기
필터 지우기

How can I execute a double-click callback without executing the single-click callback in my MATLAB GUI?

조회 수: 47 (최근 30일)
In order to set a double-click callback for my figure, I must set the SelectionType property to "open." However, when I double-click on my figure, MATLAB cycles the SelectionType through "normal" while I am clicking. This triggers my single-click callback. Thus both callbacks are executed instead of only my double-click callback.

채택된 답변

MathWorks Support Team
MathWorks Support Team 2011년 12월 5일
You can use the following sample code to cause your application to execute only the double-click callback:
Associate this function with 'WindowButtonDownFcn' callback of the figure window.
function clickcallback(obj,evt)
persistent chk
if isempty(chk)
chk = 1;
pause(0.5); %Add a delay to distinguish single click from a double click
if chk == 1
fprintf(1,'\nI am doing a single-click.\n\n');
chk = [];
end
else
chk = [];
fprintf(1,'\nI am doing a double-click.\n\n');
end

추가 답변 (1개)

CAM
CAM 2015년 3월 26일
I am disappointed that GUI's do not (apparently) support the double-click option in SelectionType. Why is there no disclaimer in the help files about this?
When will this bug be fixed?

카테고리

Help CenterFile Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기

태그

제품


릴리스

R13SP1

Community Treasure Hunt

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

Start Hunting!

Translated by