ListBoxTop property not updating displayed listbox line

I've seen several other users in the past that had issues w/ listboxes & viewing the bottom-most data. Usually the answers include using the 'ListBoxTop' property, which should be the correct answer. But I don't find any code snippets that actually work (and I don't want to put my hands into the java guts w/ undocumented properties unless absolutely necessary). So, here's the gauntlet once and for all...why doesn't this code display the bottom line of the listbox?
function ListboxTester_01
fh = figure('MenuBar','none',...
'NumberTitle','off',...
'Position',[200 200 170 100],...
'Name','ListboxTester');
cwh = uicontrol(fh,...
'Style','edit',...
'Max',4,...
'Position',[10 40 150 50],...
'HorizontalAlignment','left',...
'SelectionHighlight','of',...
'HitTest','off');
uicontrol(fh,...
'Style','pushbutton',...
'String','test',...
'Position',[10 10 150 20],...
'Callback',@testbutton_callback);
ii=1;
function testbutton_callback(~,~)
inputstring = sprintf('Testing%d',ii);
cwhstring = get(cwh,'String');
newtext = cell(length(cwhstring)+1,1);
newtext(1:end-1) = cwhstring;
newtext(end) = {inputstring};
set(cwh,'String',newtext);
set(cwh,'ListBoxTop',numel(newtext),'Value',numel(newtext));
drawnow;
ii = ii+1;
end
end

1 Comment

+1, well written question with all of the info we could ask for.

Sign in to comment.

Answers (1)

Because it's an edit uicontrol and not a listbox uicontrol. Change line seven to:
'Style','listbox',...
and watch the magic!

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Products

Asked:

on 16 Apr 2012

Community Treasure Hunt

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

Start Hunting!