这适用于Delphi XE8
这是一个示例项目 https://github.com/dangas56/DelphiDXSeattle-BrokenTabControl
当键盘弹出设备时,我们有一个VertScrollBox 并有多个标签控件和标签项在屏幕之间轻弹 注意到标签有时在Delphi DX Seattle中无法正确打印
这是重现代码的示例 - 您可以从上面的git链接下载示例
procedure TForm2.tbcMainChange(Sender: TObject);
begin
if tbcMain.ActiveTab = tbtmSettings then
tbcMain.TabPosition := TTabPosition.None
else begin
tbcMain.TabPosition := TTabPosition.Bottom;
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
tbcMain.ActiveTab := tbtmHome;
end;
这是主屏幕的示例,单击第二个选项卡将原始tabControl上的TabPosition设置为none(以隐藏选项卡)。
这是第二个标签 - 通常底部有更多标签项 当我们点击按钮返回原始标签时,将原始标签的Tabposition设置为底部,并将活动项目设置为第一个标签项
如下所示,它没有重新打印屏幕底部的标签项
答案 0 :(得分:0)
我们找到了临时修复 而不是仅仅将tabPosition设置为从无到底,例如
tbcMain.TabPosition := TTabPosition.Bottom;<br>
如果你这样做,它似乎再次重印
tbcMain.TabPosition := TTabPosition.Bottom;
tbcMain.TabPosition := TTabPosition.Dots;
tbcMain.TabPosition := TTabPosition.Bottom;