Delphi7中Listview的常用功能汇总_Delphi

有些时候我们在使用Delphi7的Listview过程中总是要改一些默认的设置,现在把它们集中起来汇总如下。

MultiSelect := True;   使Listview可以同时选择多行

GridLines := True;     使Listview显示格线

ViewStyle := vsReport; 显示数据项的详细列表

HideSelection := True;  使listview失去焦点时,选中行不高亮

//设置颜色
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
 Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
 subRect, itemRect: TRect;
 i, SubItem: Integer;
begin
 DefaultDraw := False;
 if Item.Selected then begin
  Sender.Canvas.Font.Color := clRed; //选中行字体颜色
  Sender.Canvas.Brush.Color := clgray; //clGreen; 选中行高亮颜色
 end else begin
  Sender.Canvas.Font.Color := clNavy; //正常行字体颜色
  Sender.Canvas.Brush.Color := clWhite; //正常行高亮颜色
 end;
 itemRect := Item.DisplayRect(drLabel);
 subRect := itemRect;
 for SubItem := 0 to (Sender as TListView).Columns.Count - 1 do
 begin
  subRect.Left := itemRect.Left;
  for i := 1 to SubItem do
  begin
   subRect.Left := subRect.Left + (Sender as TListView).Column[i - 1].Width;
   subRect.Right := subRect.Right + SubRect.Left + (Sender as TListView).Column[i].Width;
  end;
  if SubItem = 0 then
  begin
   subRect.Right := subRect.Right + 2;
   Sender.Canvas.TextRect(subRect, subRect.Left, subRect.Top, Item.Caption);
  end else
   Sender.Canvas.TextRect(subRect, subRect.Left, subRect.Top, Item.SubItems[SubItem - 1]);
 end;
end;
//排序功能
 private
  { Private declarations }
  SortCol: Integer;
  SortWay: Integer;

procedure TForm1.ListView1ColumnClick(Sender: TObject;
 Column: TListColumn);
begin
 SortCol := Column.Index;
 if (SortWay = 1) then SortWay := -1 else SortWay := 1;
 (Sender as TCustomListView).AlphaSort;
end;

procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
 Data: Integer; var Compare: Integer);
var
 t: Integer;
begin
 if (SortCol = 0) then
 begin
  Compare := SortWay * CompareText(Item1.Caption, Item2.Caption);
 end else
 begin
  t := SortCol - 1;
  Compare := SortWay * CompareText(Item1.SubItems[t], Item2.SubItems[t]);
 end;
end;

这个功能存在一个问题:数字排序会按字符类似排,例如:1,10,102,3,34,356......感兴趣的读者可以加以完善

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索listview
, delphi
功能
delphi listview、delphi listview 排序、delphi listview 图片、delphi listview 颜色、delphi listview 多选,以便于您获取更多的相关知识。

时间: 2024-10-21 23:23:21

Delphi7中Listview的常用功能汇总_Delphi的相关文章

javascript常用功能汇总_javascript技巧

1.javascript的数组API: //定义数组 var pageIds = new Array(); pageIds.push('A'); 数组长度 pageIds.length; //shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 //unshift:将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5];

JavaScript 曾经熟知的常用功能汇总

JavaScript 常用字符串处理功能汇总 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 很遗憾,这些十年前都轻车熟路的功能,这次还是得逐个去查,去分析用什么方法来处理: 很幸运,能又一次有

很全面的JavaScript常用功能汇总集合_javascript技巧

本文主要总结了JavaScript 常用功能总结,如一些常用的额JS 对象,基本数据结构,功能函数等,还有一些常用的设计模式.  目录: 众所周知,JavaScript是动态的面向对象的编程语言,能够实现以下效果: 丰富Web 网页功能 丰富Web界面 实现本地或远程存储. 实现分布式网络应用的前端组件,并在后台进行数据存储管理. 使用JavaScript可以实现完整的分布式Web 应用.  一.JavaScript 中的数据类型 JavaScript 提供三种元数据类型,string,numb

不同品牌机中的“Fn”按钮功能汇总

很多人不知道,"FN"意为"Function"(功能),用以和其他的按键组成组合键以便实现控制作用. 它是多出现于笔记本和上网本键盘左下角的一个键.有的笔记本将Ctrl键置于左下角,而Fn在键盘最下一排从左数第二的位置."Fn"多用蓝色刻印,也有用绿色.紫色的,与相组合的按键实现的功能在另一个键上用同样的颜色表示.这些组合键可以实现硬件的调节(休眠,切换显示),或者补充实现台式机上有而笔记本上省略的按键. 虽然这个布局设计在业界一直有所争议,但是

Delphi7中群发Email邮件的方法_Delphi

本文实例讲述了Delphi7中群发Email邮件的方法.分享给大家供大家参考.具体分析如下: 这段时间需要对所有参加考试的考生将考生信息及考试信息通过电子邮件群发,经过多次调试,算是成功了,发来给大家参考一下: 总的思路是: 1.安装局域网版的邮件服务器,并通过设置DNS使得给服务器能给网外用户发送电邮,这方面的软件比较多,例如WinWebMail就不错,可以从官网下载:  2.需要使用到的控件:Indy10.0.15,可以通过百度搜索下载: 3.设置需要发送的电子邮箱服务器及账号信息 复制代码

Idea 常用功能汇总,工作中常用技巧,移出请说明原因,笔记花了好长时间汇总的

1.隐藏没用到的文件 比如 IDEA 的项目配置文件(.iml 和.idea),打开 Settings-File Types, 加入要隐藏的文件后缀.  2.常用技巧 2.1 通过Alt+F8查看变量在当前断点的当前值 2.2 使用Live Template创建代码模板 2.3 粘贴 历史 复制 快捷键 Ctrl+Shift+V,可以显示文本复制的历史记录. 修改复制历史记录数量,执行 Setting-Editor,修改"Maximum number of contents to keep in

浏览.NET Framework 2.0 类型库中新增的常用功能

在vs2005 beta1出来的时候没有怎么去使用,现在beta2已经安装了,在查看.net 2.0类型库的时候惊奇得发现好多一直在CSDN社区中提的问题都有直接解决的方法了,幸喜之余就写了一些文字来列一下我比较关心的几块功能. 1.串口操作 新增System.IO.Ports命名空间,提供了SerialPort类来实现串口操作的功能. 在.Net Framework 1.x中,我们需要使用另外的组件,具体要做可以参考我贴的连接:http://www.microsoft.com/china/MS

Delphi之Pascal语言中的关键字及保留字汇总_Delphi

本文汇总了Pascal语言中的关键字及保留字如下,供大家参考: absolute//指令(变量) abstract//指令(方法) and//运算符(布尔) array//类型 as//运算符(RTTI) asm//语句 assembler//向后兼容(汇编) at//语句(异常处理) automated//访问类别符(类) begin//块标记 case//语句 cdecl//函数调用协定 class//类型 const//声明或指令(参数) constructor//特殊方法 contain

Android中ListView绑定CheckBox实现全选增加和删除功能(DEMO)_Android

ListView控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adapter的用法,加了很多的判断等等等等-.我们先来看看实现的效果吧! 好的,我们新建一个项目LvCheckBox 我们事先先把这两个布局写好吧,一个是主布局,还有一个listview的item.xml,相信不用多说 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/