首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

TTreeView控件,当选中一个节点后,周围的虚线框怎么去掉

2013-06-25 
TTreeView控件,当选中一个节点后,周围的虚线框如何去掉TTreeView控件,当选中一个节点后,节点汉字的周围有

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);
}

热点排行