DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: eyang11
今日帖子: 24
在线用户: 11
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 power_source (power) ★☆☆☆☆ -
盒子活跃会员
2004/2/5 12:19:46
标题:
急!!!关于treeview! 浏览:1625
加入我的收藏
楼主: 我想在treeview的onclick中实现点击某一项时将其变色(只要求当前被选中的项变色),如果又选择了其它项则把前一个被选中项的颜色变回。
我在onclick中写代码的目的是当光标从treeview中移开时选中的项目仍保持变后的颜色!
----------------------------------------------
我真的不会!
作者:
男 waterstone (waterstone) ★☆☆☆☆ -
盒子活跃会员
2004/2/5 12:33:48
1楼: 本身就是变色的啊!

----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/2/5 12:37:03
2楼: procedure TForm1.tv1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
 a:string;
 NodeRect: TRect;
begin
     if node.Selected then
     begin
      tv1.Canvas.Font.Color := clred;
      tv1.Canvas.Font.Style := [fsBold];
      tv1.Canvas.Brush.Color :=clWindow;
      tv1.Canvas.Pen.Color :=clWindow;
     end
     else
     begin
       tv1.Canvas.Font.Color := clblack;
       tv1.Canvas.Font.Style := [];
        tv1.Canvas.Brush.Color :=clWindow;
       tv1.Canvas.Pen.Color :=clWindow;
     end;
 

  DefaultDraw := true;
end;
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 power_source (power) ★☆☆☆☆ -
盒子活跃会员
2004/2/5 14:53:14
3楼: 成功了,但是我有问题:
 tv1.Canvas.Brush.Color :=clWindow;
 tv1.Canvas.Pen.Color :=clWindow;
以上两句是不是把不符合条件的项变回原来的模样?
另外  DefaultDraw := true;是不是让保存了改变后的效果?

谢谢bios大哥!
----------------------------------------------
我真的不会!
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/2/5 14:56:06
4楼: 1)是呀
2)是其他画法调用系统父类的成员函数,不然如果是false 你会发现
  文字变的异常,因为那意味着所以的风格都必须自己重写
 偶试过很难控制的!
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS