matlab 滑动条滑块大小,MATLAB GUI:滑块作为滚动条;子面板不会剪辑

长时间潜伏 - 我非常感谢社区的知识。虽然我还没有找到合适的解决方案,但我已经在这里和其他地方看到了这个问题。如果我错过了之前列出的答案,请发布链接并接受我的道歉。

我的GUI图有一个主面板,顶部有一个uibuttongroup标签。每个选项卡都可以看到不同尺寸超大的子面板(填充各种内容),并且我使用滑块向上滚动子面板。下。

通常,这是有效的。但是,当我向下滚动时,子面板(而不是子面板本身)的内容会覆盖顶部的标签(应始终可见)。我认为它可能与剪辑有关,但我无法弄清楚如何使其工作。有人知道如何防止这种情况发生吗?

我已经包含了显示我的情况的代码(简洁功能有限):

function h = ScrollQuestion_StackOverflow

h.myFig = figure('position', [100 100 800 600],...

'menubar','none');

%% Panel covers full figure

h.Main_Panel = uipanel('Parent', h.myFig,...

'units','normalized',...

'position', [0 0 1 1],...

'visible','on');

%% ALWAYS needs to be visible by the user, not covered by anything

h.Main_BtnGrp = uibuttongroup('parent', h.Main_Panel,...

'units','normalized',...

'position', [0 .95 1 .05]);

h.Tab1_TglBtn = uicontrol('parent', h.Main_BtnGrp,...

'units','normalized',...

'position', [0 0 .125 1],...

'style','togglebutton',...

'string', 'Tab1');

h.Tab2_TglBtn = uicontrol('parent', h.Main_BtnGrp,...

'units','normalized',...

'position', [.125 0 .125 1],...

'style','togglebutton',...

'string', 'Tab2');

%% Oversized sub-panel

h.ThisPanelMoves = uipanel('parent',h.Main_Panel,...

'units','normalized',...

'position', [0 -1 1 1.95]);

% Generic content of sub-panel

h.ContentText = uicontrol('parent', h.ThisPanelMoves,...

'units','normalized',...

'position', [.05 .95 .8 .05],...

'style','text',...

'string', 'BLOCKS TABS WHEN YOU SCROLL DOWN',...

'fontsize', 20,...

'clipping','on');

%% Add slider

h.Tab1_Slider = uicontrol('Parent', h.myFig,...

'units','normalized',...

'position',[.98, 0 .02 1],...

'style', 'slider',...

'value', 1,...

'callback', {@SliderCallback, h});

guidata(h.myFig,h)

%% Slider Callback

function SliderCallback(hObject, eventdata, h)

val = get(hObject,'Value');

set(h.ThisPanelMoves, 'Position', [0 -val 1 1.95]);

非常感谢你的帮助!

你可能感兴趣的:(matlab,滑动条滑块大小)