2010-12-08 27 views
3

Dans uTorrent 2.2, lorsqu'un nœud treeview est sélectionné, le nœud a une apparence similaire à celle d'un bouton. Cela rend le contrôle .view treeview comme si inadéquat pour moi. Maintenant, je sais que utorrent est écrit en C++, mais est-ce que quelqu'un sait comment ils ont fait cela, ou est-ce que quelqu'un connaît des bibliothèques qui pourraient suffire?TreeView Control similaire à celui d'utorrent

alt text

Répondre

4

Il est un contrôle Windows standard TreeView avec le Win7 "Explorer" style visuel appliqué. Vous pouvez en obtenir un dans votre propre programme facilement en changeant le thème pour le contrôle. Ajoutez une nouvelle classe à votre projet et collez le code ci-dessous. Compiler. Déposez le nouveau contrôle du haut de la boîte à outils sur votre formulaire.

using System; 
using System.Windows.Forms; 
using System.Runtime.InteropServices; 

class MyTreeView : TreeView { 
    protected override void OnHandleCreated(EventArgs e) { 
     if (Environment.OSVersion.Version.Major >= 6) { 
      SetWindowTheme(this.Handle, "Explorer", null); 
     } 
     base.OnHandleCreated(e); 
    } 
    [DllImportAttribute("uxtheme.dll", CharSet = CharSet.Auto)] 
    private static extern int SetWindowTheme(IntPtr hWnd, string appname, string idlist); 
} 

Ceci n'est pas directement possible pour WPF sauf si vous utilisez la classe WindowsFormHost.