Question

J'ai une vue arborescente assez long (IWTreeView) dans un IWRegion (ClipRegion: = True) avec un noeud sélectionné. Comment puis-je me concentre ce nœud tel qu'il est visible pour l'utilisateur après un rendu? Le

Ce que je fais jusqu'à présent:

Dans Delphi

tree.Selected:= itemToFocus;
tree.ScrollToName:= tree.Selected.Name;

Cela génère sur mon site (fait par IWTreeView.pas par Atozed):

<script language="javascript">
  ...
  function initialize {
    ...
    positionNAVIGATORTree( "i2" );
  }
</script>
...
<script language="javascript">
  function positionNAVIGATORTree( iNodeID )
  {
    FindElem( "NAVIGATOR").scrollTop =
      FindElem( iNodeID ).offsetTop - 40;
     return true;
  }
</script>

Toujours l'arbre après un rendu montrera l'élément le plus visible. Cela est vrai pour tous les navigateurs que j'ai testé (IE8, Firefox, Chrome).

Était-ce utile?

La solution

La window.scrollTo(x,y) fonction javascript vous permet de faire défiler une fenêtre, cela fonctionnera pour votre contrôle?

Autres conseils

Elite Suite (récemment open source) a beaucoup mieux TreeView (TArcIWStringGrid + TArcIWStringGridTreeContent) avec sélection fonctionne parfaitement et le défilement. Essayez!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top