//设置颜色 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;
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有