2

这在 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(以隐藏选项卡)。
在此处输入图像描述


这是第二个选项卡 -当我们单击按钮返回原始选项卡时,通常在底部有更多选项卡项,它将原始选项卡的选项卡位置设置为底部并将活动项设置为第一个选项卡项

在此处输入图像描述

正如您在下面看到的,它没有重新打印屏幕底部的选项卡项目

在此处输入图像描述

4

1 回答 1

0

我们找到了一个临时修复
,而不是仅仅将 tabPosition 从无设置为底部,例如

tbcMain.TabPosition := TTabPosition.Bottom;<br>

如果你这样做,它似乎又可以重新打印了

tbcMain.TabPosition := TTabPosition.Bottom;
tbcMain.TabPosition := TTabPosition.Dots;
tbcMain.TabPosition := TTabPosition.Bottom; 
于 2015-09-30T02:49:55.750 回答