TreeViewDrawMode Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce le costanti che rappresentano le modalità di creazione di una classe TreeView.
public enum class TreeViewDrawMode
public enum TreeViewDrawMode
type TreeViewDrawMode =
Public Enum TreeViewDrawMode
- Ereditarietà
Campi
Normal | 0 | La classe TreeView è creata dal sistema operativo. |
OwnerDrawAll | 2 | Tutti gli elementi di un nodo della classe TreeView vengono creati manualmente, incluse icone, caselle di controllo, segni +/- e linee che collegano i nodi. |
OwnerDrawText | 1 | La parte dell'etichetta dei nodi della classe TreeView viene creata manualmente. Altri elementi del nodo vengono creati dal sistema operativo, incluse icone, caselle di controllo, segni +/- e linee che collegano i nodi. |
Esempio
Nell'esempio di codice seguente viene illustrato come personalizzare un TreeView controllo usando la relativa funzionalità di disegno proprietario. Il TreeView controllo nell'esempio visualizza i tag di nodo facoltativi insieme alle etichette dei nodi standard. I tag dei nodi vengono specificati usando la TreeNode.Tag proprietà . Il TreeView controllo usa anche colori personalizzati, incluso un colore di evidenziazione personalizzato.
È possibile personalizzare la maggior parte dei TreeView colori impostando le proprietà dei colori, ma il colore di evidenziazione della selezione non è disponibile come proprietà. Inoltre, il rettangolo di evidenziazione della selezione predefinita si estende solo intorno a un'etichetta del nodo. Il disegno proprietario deve essere utilizzato per disegnare i tag del nodo e per disegnare un rettangolo di evidenziazione personalizzato sufficientemente grande da includere un tag di nodo.
Per l'esempio completo, vedere l'argomento di TreeView.DrawNode riferimento.
TreeViewOwnerDraw()
{
tagFont = gcnew System::Drawing::Font( "Helvetica",8,FontStyle::Bold );
// Create and initialize the TreeView control.
myTreeView = gcnew TreeView;
myTreeView->Dock = DockStyle::Fill;
myTreeView->BackColor = Color::Tan;
myTreeView->CheckBoxes = true;
// Add nodes to the TreeView control.
TreeNode^ node;
for ( int x = 1; x < 4; ++x )
{
// Add a root node to the TreeView control.
node = myTreeView->Nodes->Add( String::Format( "Task {0}", x ) );
for ( int y = 1; y < 4; ++y )
{
// Add a child node to the root node.
node->Nodes->Add( String::Format( "Subtask {0}", y ) );
}
}
myTreeView->ExpandAll();
// Add tags containing alert messages to a few nodes
// and set the node background color to highlight them.
myTreeView->Nodes[ 1 ]->Nodes[ 0 ]->Tag = "urgent!";
myTreeView->Nodes[ 1 ]->Nodes[ 0 ]->BackColor = Color::Yellow;
myTreeView->SelectedNode = myTreeView->Nodes[ 1 ]->Nodes[ 0 ];
myTreeView->Nodes[ 2 ]->Nodes[ 1 ]->Tag = "urgent!";
myTreeView->Nodes[ 2 ]->Nodes[ 1 ]->BackColor = Color::Yellow;
// Configure the TreeView control for owner-draw and add
// a handler for the DrawNode event.
myTreeView->DrawMode = TreeViewDrawMode::OwnerDrawText;
myTreeView->DrawNode += gcnew DrawTreeNodeEventHandler( this, &TreeViewOwnerDraw::myTreeView_DrawNode );
// Add a handler for the MouseDown event so that a node can be
// selected by clicking the tag text as well as the node text.
myTreeView->MouseDown += gcnew MouseEventHandler( this, &TreeViewOwnerDraw::myTreeView_MouseDown );
// Initialize the form and add the TreeView control to it.
this->ClientSize = System::Drawing::Size( 292, 273 );
this->Controls->Add( myTreeView );
}
public TreeViewOwnerDraw()
{
// Create and initialize the TreeView control.
myTreeView = new TreeView();
myTreeView.Dock = DockStyle.Fill;
myTreeView.BackColor = Color.Tan;
myTreeView.CheckBoxes = true;
// Add nodes to the TreeView control.
TreeNode node;
for (int x = 1; x < 4; ++x)
{
// Add a root node to the TreeView control.
node = myTreeView.Nodes.Add(String.Format("Task {0}", x));
for (int y = 1; y < 4; ++y)
{
// Add a child node to the root node.
node.Nodes.Add(String.Format("Subtask {0}", y));
}
}
myTreeView.ExpandAll();
// Add tags containing alert messages to a few nodes
// and set the node background color to highlight them.
myTreeView.Nodes[1].Nodes[0].Tag = "urgent!";
myTreeView.Nodes[1].Nodes[0].BackColor = Color.Yellow;
myTreeView.SelectedNode = myTreeView.Nodes[1].Nodes[0];
myTreeView.Nodes[2].Nodes[1].Tag = "urgent!";
myTreeView.Nodes[2].Nodes[1].BackColor = Color.Yellow;
// Configure the TreeView control for owner-draw and add
// a handler for the DrawNode event.
myTreeView.DrawMode = TreeViewDrawMode.OwnerDrawText;
myTreeView.DrawNode +=
new DrawTreeNodeEventHandler(myTreeView_DrawNode);
// Add a handler for the MouseDown event so that a node can be
// selected by clicking the tag text as well as the node text.
myTreeView.MouseDown += new MouseEventHandler(myTreeView_MouseDown);
// Initialize the form and add the TreeView control to it.
this.ClientSize = new Size(292, 273);
this.Controls.Add(myTreeView);
}
Public Sub New()
' Create and initialize the TreeView control.
myTreeView = New TreeView()
myTreeView.Dock = DockStyle.Fill
myTreeView.BackColor = Color.Tan
myTreeView.CheckBoxes = True
' Add nodes to the TreeView control.
Dim node As TreeNode
Dim x As Integer
For x = 1 To 3
' Add a root node to the TreeView control.
node = myTreeView.Nodes.Add(String.Format("Task {0}", x))
Dim y As Integer
For y = 1 To 3
' Add a child node to the root node.
node.Nodes.Add(String.Format("Subtask {0}", y))
Next y
Next x
myTreeView.ExpandAll()
' Add tags containing alert messages to a few nodes
' and set the node background color to highlight them.
myTreeView.Nodes(1).Nodes(0).Tag = "urgent!"
myTreeView.Nodes(1).Nodes(0).BackColor = Color.Yellow
myTreeView.SelectedNode = myTreeView.Nodes(1).Nodes(0)
myTreeView.Nodes(2).Nodes(1).Tag = "urgent!"
myTreeView.Nodes(2).Nodes(1).BackColor = Color.Yellow
' Configure the TreeView control for owner-draw.
myTreeView.DrawMode = TreeViewDrawMode.OwnerDrawText
' Add a handler for the MouseDown event so that a node can be
' selected by clicking the tag text as well as the node text.
AddHandler myTreeView.MouseDown, AddressOf myTreeView_MouseDown
' Initialize the form and add the TreeView control to it.
Me.ClientSize = New Size(292, 273)
Me.Controls.Add(myTreeView)
End Sub
Commenti
Questa enumerazione viene utilizzata dalla TreeView.DrawMode proprietà per indicare se i nodi o le etichette dei nodi di un oggetto TreeView vengono disegnati dal proprietario. Per altre informazioni, vedere l'evento TreeView.DrawNode.