国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

Delphi7中Listview的常用功能匯總

2020-01-31 20:51:31
字體:
來源:轉載
供稿:網友

有些時候我們在使用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......感興趣的讀者可以加以完善

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 陵川县| 乌海市| 璧山县| 文水县| 巢湖市| 崇州市| 潢川县| 平遥县| 禄丰县| 卢龙县| 衡山县| 凌云县| 和政县| 仁化县| 蒙自县| 太原市| 城步| 南投市| 扎鲁特旗| 鄂托克旗| 新宾| 林芝县| 辉县市| 克山县| 延庆县| 芒康县| 稻城县| 原平市| 齐齐哈尔市| 封丘县| 潍坊市| 九江市| 锦屏县| 平果县| 普宁市| 虹口区| 元谋县| 晴隆县| 元谋县| 土默特左旗| 永城市|