Cell size changes to 49x50 when used in callback function in guide. Can anyone help me out with that?
1 view (last 30 days)
Show older comments
I have a cell addStrArr which is initiated as cell(5,3) in a function and the cell elements are updated in the callback function named additem_Callback. But the cell size changes to 49x50 in the callback function. I am unable to comprehend. The callback function is as follows.
function additem_Callback(hObject, eventdata, handles)
global addStrArr;
size(addStrArr) % This gives correct size
a=get(hObject,'Tag');
b=a(2) % Say b=1
c=a(3) % Say c=2
f=get(hObject,'String')
addStrArr{b,c}=f % This results in size of 49x50.
addStrArr
size(addStrArr)
Can anyone help out?
0 Comments
Accepted Answer
Jan
on 6 Mar 2017
The 'tag' is a string. Then:
a = get(hObject,'Tag');
b = a(2) % Say b=1
replies 1 infact, but this is the character '1'. Using it as index converts it to the ASCII code 49:
double('1')
If you really want to use the tag of the object (then it is limited to 10 values because you have 1 digit only), convert it to a number at first:
a = get(hObject,'Tag');
b = a(2) - '0'; % Or: b = sscanf(a(2), '%d')
c = a(3) - '0';
Better use the UserData of the object or the ApplicationData (see doc guidata) instead of the tag property. Then this strange parsing of the tag string is not required, because you can store the indices numerically directly.
2 Comments
More Answers (0)
See Also
Categories
Find more on Characters and Strings 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!