Why buttondownfcn of pushbutton not work in a classdef file ??!!!
1 view (last 30 days)
Show older comments
I just want to build a pushbutton in a class defintion with a buttondown callback. But there is no reaction if I click the button.
If I change the 'buttondownfcn' to 'callback'. Then it will work. But I indeed need 'buttondownfcn' for my function.
Is this a Matlab bug or I missed something? I am using matlab 2011b.
Thanks guys.
classdef testBtnCbk
%TESTBTNCBK Summary of this class goes here
% Detailed explanation goes here
properties
end
methods
function obj = testBtnCbk()
hfig = figure;
oTab.hBtn = uicontrol('style', 'pushbutton',...
'parent', hfig, ...
'backgroundcolor', [0 0 0], ...
'foregroundcolor', [1 1 1], ...
'string', 'hello', ...
'Units', 'pixel', ...
'buttondownfcn', @obj.pshbtnDwnCbk, ...
'Position', [100 100 100 100]);
end
function pshbtnDwnCbk(obj, ~, ~)
msgbox('hello')
end
end
end
0 Comments
Accepted Answer
Song
on 15 Apr 2015
1 Comment
Adam
on 15 Apr 2015
Ah, I'd never really noticed that aspect of functionality. That will effectively disable its use as a pushbutton though so you would have to change enable back to 'on' at times you want it to actually behave as a pushbutton rather than having its buttondownfcn active.
More Answers (1)
Adam
on 15 Apr 2015
Edited: Adam
on 15 Apr 2015
Yes, I just did a test and ButtonDownFcn does appear not to work. This is independent of being in a class. It is the same on command line.
However, I can think of no possible reason why you would need to use ButtonDownFcn on a pushbutton given that 'Callback' does exactly that.
See Also
Categories
Find more on Graphics Object Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!