hObject error in execution of a checkbox

1 view (last 30 days)
I have been trying to execute the below mentioned code and encounter the below mentioned error
function checkbox()
handles.cbh = zeros(40,1);
handles.label = 1:40;
for k = 1:40
handles.cbh(k) = uicontrol('Style','checkbox','String',handles.label(k), ...
'Value',0,'Position',[30 20*k 130 20], ...
'Parent', hObject, ...
'Callback',{@checkBoxCallback,k});
end
guidata(hObject,handles);
function checkBoxCallback(hObject,~,checkBoxId)
handles = guidata(handles);
value = get(hObject,'Value');
if value
switch checkBoxId
case 1
fprintf('handle cb 1\n');
case 2
fprintf('handle cb 2\n');
otherwise
fprintf('do nothing\n');
end
end
end
end
the error is
Undefined function or variable 'hObject'.
Error in checkbox (line 5)
handles.cbh(k) = uicontrol('Style','checkbox','String',handles.label(k), ...

Accepted Answer

Dennis
Dennis on 12 Apr 2019
Your checkbox function does not know 'hObject':
function checkbox()
handles.fig=figure;
handles.cbh = zeros(40,1);
handles.label = 1:40;
for k = 1:40
handles.cbh(k) = uicontrol('Style','checkbox','String',handles.label(k), ...
'Value',0,'Position',[30 20*k 130 20], ...
'Parent', handles.fig, ...
'Callback',{@checkBoxCallback,k});
end
guidata(handles.fig,handles);
function checkBoxCallback(hObject,~,checkBoxId)
handles = guidata(hObject);
value = get(hObject,'Value');
if value
switch checkBoxId
case 1
fprintf('handle cb 1\n');
case 2
fprintf('handle cb 2\n');
otherwise
fprintf('do nothing\n');
end
end
end
end

More Answers (0)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Products


Release

R2015a

Community Treasure Hunt

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

Start Hunting!