TreeView.DrawMode Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví režim, ve kterém je nakreslen ovládací prvek.
public:
property System::Windows::Forms::TreeViewDrawMode DrawMode { System::Windows::Forms::TreeViewDrawMode get(); void set(System::Windows::Forms::TreeViewDrawMode value); };
public System.Windows.Forms.TreeViewDrawMode DrawMode { get; set; }
member this.DrawMode : System.Windows.Forms.TreeViewDrawMode with get, set
Public Property DrawMode As TreeViewDrawMode
Hodnota vlastnosti
Jedna z TreeViewDrawMode hodnot. Výchozí formát je Normal.
Výjimky
Hodnota vlastnosti není platná TreeViewDrawMode hodnota.
Příklady
Následující příklad kódu ukazuje, jak přizpůsobit ovládací prvek pomocí výkresu TreeView vlastníka. Ovládací TreeView prvek v příkladu zobrazuje volitelné značky uzlů společně se standardními popisky uzlů. Značky uzlů se zadají pomocí TreeNode.Tag vlastnosti . Ovládací TreeView prvek také používá vlastní barvy, které zahrnují vlastní barvu zvýraznění.
Většinu TreeView barev můžete přizpůsobit nastavením vlastností barev, ale barva zvýraznění výběru není k dispozici jako vlastnost. Kromě toho se výchozí obdélník zvýraznění výběru rozšiřuje pouze kolem popisku uzlu. Výkres vlastníka musí být použit k nakreslení značek uzlů a k nakreslení přizpůsobeného obdélníku zvýraznění, který je dostatečně velký, aby zahrnoval značku uzlu.
Úplný příklad najdete v referenčním DrawNode tématu.
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
Poznámky
Uzly typu jsou TreeView obvykle nakresleny operačním systémem. Vlastnost DrawMode umožňuje přizpůsobit vzhled uzlů. Chcete-li to provést, nastavte DrawMode na TreeViewDrawMode.OwnerDrawAll nebo TreeViewDrawMode.OwnerDrawText a zadejte obslužnou rutinu DrawNode pro událost. Tomu se říká výkres vlastníka.