怎样使TreeView的节点保持选中状态的蓝颜色

bingyu_2008 2009-04-27 11:18:40
TTreeView中有节点被选中时,默认的是蓝颜色,当鼠标点击到其他控件上时,如何让这个选中的节点继续保持选中时的蓝色呢?我把HintSelection这个属性已经设置成false了,当鼠标点击到别的地方时,显示的是很难看的灰色。。。
...全文
452 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
QuickHadoop 2009-07-22
  • 打赏
  • 举报
回复
asdfasdfdsf
fairchild811 2009-05-02
  • 打赏
  • 举报
回复
把程序重新写一下。方法是正确的
bingyu_2008 2009-04-29
  • 打赏
  • 举报
回复
我重新做了一个Demo,在这个Demo里面确实可以,但是放到我现在的程序里面就不行了,真奇怪了!!!
bingyu_2008 2009-04-28
  • 打赏
  • 举报
回复
指向了,ListView1CustomDrawItem已经运行了,就是效果出不来。不知道你是否试过。
jame2001 2009-04-28
  • 打赏
  • 举报
回复
在Object inspector 中Events中ListView1的OnCustomDrawItem 有指向 ListView1CustomDrawItem ??
bingyu_2008 2009-04-28
  • 打赏
  • 举报
回复
好像不行,没起作用。。。我把你给的两个颜色值换成其他的试了一下,选中的时候还是蓝色的,点到其他的控件上时,变成灰色了。。。
jame2001 2009-04-28
  • 打赏
  • 举报
回复
我試過才把源碼放上來的....
jame2001 2009-04-27
  • 打赏
  • 举报
回复

void __fastcall TForm1::TreeView1CustomDrawItem(TCustomTreeView *Sender,
TTreeNode *Node, TCustomDrawState State, bool &DefaultDraw)
{
if(Node->Selected==true)
{
Sender->Canvas->Brush->Color = clBlue;
}
}

jame2001 2009-04-27
  • 打赏
  • 举报
回复
我試過 可以的


void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender,
TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
if(Item->Selected==true)
{
Sender->Canvas->Font->Color = clWhite;
Sender->Canvas->Brush->Color = clBlue;
}
}

bingyu_2008 2009-04-27
  • 打赏
  • 举报
回复
谢谢,搞定!
再问一下,如果是ListView呢,该怎样做?我试着和TreeView一样在OnCustomDrawItem中做同样的操作,但是不起作用

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧