TTreeView控件,当选中一个节点后,周围的虚线框如何去掉
TTreeView控件,当选中一个节点后,节点汉字的周围有一个虚线框,如何让其不显示?
[解决办法]
可以画一个一样大小的矩形。线条颜色是背景色。
[解决办法]
在onCustomDarwItem事件里面画下试试
[解决办法]
BCB2009下成功应用Virtual Treeview (
http://blog.sina.com.cn/s/blog_674376980100m9rk.html
[解决办法]
这个跟button的内框虚线一样的道理,记得从前我在delphi跟vcl源码时跟到过它画虚线的代码,跟进源码就能找到它设置虚线的地方,继承这个控件,处理虚线的代码去掉就可以了。
[解决办法]
在 TreeView 的 OnAdvancedCustomDrawItem 事件中处理就行了:
void __fastcall TForm1::TreeView1AdvancedCustomDrawItem(
TCustomTreeView *Sender, TTreeNode *Node, TCustomDrawState State,
TCustomDrawStage Stage, bool &PaintImages, bool &DefaultDraw)
{
DefaultDraw = true;
PaintImages = false;
TRect r = Node->DisplayRect(true);
Sender->Canvas->Font->Color = clBlack;
Sender->Canvas->TextOutA(r.Left + 2, r.Top + 1, Node->Text);
if (State.Contains(cdsFocused))
Sender->Canvas->DrawFocusRect(r);
}