I want to customize DrawNode in OwnerDrawText mode in a TreeView. I found it very slow even with this handler:
void RegistryTreeDrawNode(object sender, DrawTreeNodeEventArgs e)
{
e.DrawDefault = true;
}
Am I doing something wrong?
Thanks.
I think you may need to show a bit more code for what you’re trying to do. There shouldn’t be anything noticeably different drawing like that, versus not owner drawing at all; you’re basically overriding the default draw and then undoing it in what you posted. It’s ugly for no gain… but shouldn’t be a perf hit.
So switching away from the lack of code and going after your core desire of a custom drawn tree, let me tell you that there is NOT a lot of good information out in the wild right now.
I’ve been doing my own custom treeview work over the past few days and will probably end up writing a tutorial on all that I’ve learned. In the meantime feel free to take a look at my code and see if it helps you out.
Mine was simply a custom drawn explorer treeview. The code that populates the treeview is separate from the TreeView drawing code. You’ll probably need to add your own +/- images if you wanted to run my code.
Utilities\IconReader.cs
ExplorerTreeView.cs :
TreeViewEx.cs: