最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Delphi7中Listview的常用功能匯總

 更新時(shí)間:2014年07月17日 10:25:47   投稿:shichen2014  
這篇文章主要介紹了Delphi7中Listview的常用功能,需要的朋友可以參考下

有些時(shí)候我們在使用Delphi7的Listview過程中總是要改一些默認(rèn)的設(shè)置,現(xiàn)在把它們集中起來匯總?cè)缦隆?/p>

MultiSelect := True;   使Listview可以同時(shí)選擇多行

GridLines := True;     使Listview顯示格線

ViewStyle := vsReport; 顯示數(shù)據(jù)項(xiàng)的詳細(xì)列表

HideSelection := True;  使listview失去焦點(diǎn)時(shí),選中行不高亮

//設(shè)置顏色
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;

這個(gè)功能存在一個(gè)問題:數(shù)字排序會(huì)按字符類似排,例如:1,10,102,3,34,356......感興趣的讀者可以加以完善

相關(guān)文章

最新評論

曲沃县| 大同县| 麦盖提县| 盐源县| 若尔盖县| 临桂县| 九江县| 平谷区| 河南省| 仁布县| 广平县| 大洼县| 六枝特区| 华坪县| 秦安县| 邳州市| 屏南县| 铜陵市| 雷州市| 濮阳县| 天镇县| 仁布县| 清新县| 抚远县| 张家口市| 甘德县| 龙陵县| 武夷山市| 白山市| 玉溪市| 铜鼓县| 保亭| 石首市| 庄浪县| 锡林浩特市| 隆回县| 渭南市| 阜康市| 五寨县| 浙江省| 博罗县|