Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > Delphi TListView显示项里画进度条
【标  题】:Delphi TListView显示项里画进度条
【关键字】:Delphi,TListView
【来  源】:http://blog.csdn.net/jlbnet/archive/2006/10/20/1342755.aspx

Delphi TListView显示项里画进度条

Your Ad Here TListView有丰富的表现形式,可以显示大图标,小图标,详细信息等。以下过程介绍如何在显示详细信息方式时,在其中的某一个子项上画出进度条。这对于设备监控程序是比较有用的,可用来表示设备连接的时间等。 TListView 有一个AdvancedCustomDrawSubItem 方法,双击这个名称即可进入以下函数体。
//在指定的子项上自画进度条。倒计数减procedure Tfm_SocketManage.LV_StationAdvancedCustomDrawSubItem(  Sender: TCustomListView; Item: TListItem; SubItem: Integer;  State: TCustomDrawState; Stage: TCustomDrawStage;  var DefaultDraw: Boolean);var  i:integer;  cvs:TCanvas;  tr:TRect;  w:integer;begin  if Item.SubItems.Count <5 then exit; //如果显示子项数不足5个,不画。当Item还在建立时就开始画可能会出错  try    if subitem=6 then //当前要画的子项是第6项    begin      psck:=PSocketRecord(Item.Data); //跟这个项显示内容有关的结构体,保存应该画多少的值      if (psck<>nil) and (psck.overtime <=17) then i:=psck.overtime      else i:=0;      if Boolean(ListView_GetSubItemRect(sender.Handle,item.Index,subitem,LVIR_BOUNDS,@tr)) then //取得要画的区域      begin        cvs:=sender.Canvas; //绘画的TCanvas        w:=tr.Right -tr.Left; //确定要画的范围。        if w=0 then w:=1;        w:=(17-i)*w div 17;        tr.Top :=tr.Top +3;        tr.Right :=tr.Left +w;        Dec(tr.Bottom,4);        cvs.Brush.Color :=clBlue; //设定画刷颜色        cvs.FillRect(tr); //填充要画的区域      end;      DefaultDraw:=false; //不需要下一步再绘画了    end;  except  end;end;
只要Canvas对象取到了,在上面画些什么就完全可以发挥创意性了,画图,打字,渐变,能想的都可以做。
Delphi dxDBGrid显示不定字段的表:【上一篇】
Windows中的名言警句??:【下一篇】
【相关文章】
  • Delphi dxDBGrid显示不定字段的表
  • 如何在Delphi中调用.Net编写的DLL中的函数(Function)、过程(Procedure)
  • 在delphi中调用tcl脚本程序1
  • Delphi使用TADOQuery时,Guid外键字段的困扰
  • Delphi 开发简易的WebService客户端
  • Delphi.5.X_ADO_MTS_COM+高级程序设计篇第二章笔记
  • 【我爱DELPHI,我学XML】DAY 1:简单节点增删改查
  • Delphi中使用ListView和TreeView的Item中的Data可能被忽略的内存泄漏
  • 初学java总结一下它与其它一些语言(c#,delphi)的差别.
  • WIN32下DELPHI中的多线程【同步2】(五)
  • 【随机文章】
  • 发布我的下棋作品--Monkey黑白棋(AI还可以,战胜了不少其它的黑白棋程序)
  • 如何写软件功能测试
  • 利用rmi实现客户端与服务器端通信
  • 3ds Max 入门视频(40)体积光
  • Vi编辑器常用指令
  • 破解 API Spy for NT v1.4(1)
  • 如何制作边框字
  • 替换类路径中的jar文件(在eclipse中升级jar文件 -- eclipse使用技巧)
  • 全球微软认证人数统计列表
  • 用 cat 合并文件
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.