2015-09-23 1 views
2

Ce travaillait dans Delphi XE8Delphi FireMonkey DX Seattle TTabControl pas réimprimer correctement lorsque l'intérieur d'un TVertScrollBox

Voici un exemple de projet https://github.com/dangas56/DelphiDXSeattle-BrokenTabControl

Nous avons un VertScrollBox lorsque le clavier apparaît sur un périphérique
et ont de multiples contrôles onglets et éléments de l'onglet Flick entre les écrans
ont remarqué que les onglets parfois ne pas imprimer correctement dans Delphi DX Seattle

Voici un exemple du code à reproduire - vous pouvez télécharger un exemple de lien git ci-dessus

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; 

Ceci est un exemple d'un écran d'accueil, en cliquant sur le deuxième onglet définit la TabPosition à aucun sur le tabcontrol d'origine (pour cacher les onglets).
enter image description here

Ceci est le deuxième onglet - a normalement plus d'éléments de l'onglet en bas
lorsque l'on clique sur le bouton pour revenir à l'onglet d'origine son réglage de la TabPosition de l'onglet d'origine vers le bas et le réglage de la élément actif pour être le premier élément de l'onglet

enter image description here

Comme vous pouvez le voir ci-dessous, il n'a pas réédité les éléments de l'onglet en bas de l'écran

enter image description here

Répondre

0

Nous avons trouvé un Fix
temporaire au lieu de mettre juste le TabPosition de zéro à fond par exemple

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

si vous faites cela, il semble bien reproduire à nouveau

tbcMain.TabPosition := TTabPosition.Bottom; 
tbcMain.TabPosition := TTabPosition.Dots; 
tbcMain.TabPosition := TTabPosition.Bottom;