手机
当前位置:查字典教程网 >编程开发 >Delphi >Delphi7中Listview的常用功能汇总
Delphi7中Listview的常用功能汇总
摘要:有些时候我们在使用Delphi7的Listview过程中总是要改一些默认的设置,现在把它们集中起来汇总如下。MultiSelect:=Tru...

有些时候我们在使用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......感兴趣的读者可以加以完善

【Delphi7中Listview的常用功能汇总】相关文章:

Delphi实现Listbox中的item根据内容显示不同颜色的方法

Delphi编程常用快捷键大全

Delphi常用关键字用法详解

delphi中exit,abort,break,continue的区别介绍

Delphi中设置条件断点的方法讲解

Delphi 生成excel中饼图的实例代码

Delphi实例演示Rect、Bounds生成TRect的区别

Delphi解析FTP地址的方法

Delphi下OpenGL2d绘图之初始化流程详解

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

精品推荐
分类导航