欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Delphi7中Listview的常用功能匯總

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

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

MultiSelect := True;   使Listview可以同時選擇多行

GridLines := True;     使Listview顯示格線

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

HideSelection := True;  使listview失去焦點時,選中行不高亮

//設(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;

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

相關(guān)文章

  • Delphi 在窗體上創(chuàng)建自己光標的實例

    Delphi 在窗體上創(chuàng)建自己光標的實例

    這篇文章主要介紹了Delphi 在窗體上創(chuàng)建自己光標的實例的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • Delphi中判斷文件是否為文本文件的函數(shù)

    Delphi中判斷文件是否為文本文件的函數(shù)

    在用Delphi 編程處理文本文件的時候,如果要裝載的文件比較大,你可能會想在文件裝載過程中提供一個裝載進度的提示--那么你就必需自己編寫直接通過文件打開/讀取函數(shù)來裝載文件內(nèi)容的函數(shù)。
    2008-03-03
  • ListView 百分比進度條(delphi版)

    ListView 百分比進度條(delphi版)

    本文通過實例代碼給大家介紹ListView 百分比進度條,本文使用的是delphi語言實現(xiàn)的,代碼比較簡單實用,希望的朋友參考下
    2016-02-02
  • Delphi使用大圖標編譯程序的方法

    Delphi使用大圖標編譯程序的方法

    這篇文章主要介紹了Delphi使用大圖標編譯程序的方法,需要的朋友可以參考下
    2017-09-09
  • delphi中一個值得大家來考慮的DLL問題

    delphi中一個值得大家來考慮的DLL問題

    在MDI窗體類型的編程中,主窗體(fsMDIForm)怎樣調(diào)用子窗體(fsMDIChild,此子窗體為DLL)。
    2008-03-03
  • delphi建立、讀取、存貯INI文件的方法《三》

    delphi建立、讀取、存貯INI文件的方法《三》

    控制INI文件幾法要利用.INI文件做程序有關(guān)數(shù)據(jù)的存儲工作,就需要能讀和寫.INI文件,所以列了如下方法給大家參考:
    2008-03-03
  • Delphi 根據(jù)字符串找到函數(shù)并執(zhí)行的實例

    Delphi 根據(jù)字符串找到函數(shù)并執(zhí)行的實例

    這篇文章主要介紹了Delphi 根據(jù)字符串找到函數(shù)并執(zhí)行的實例的相關(guān)資料,希望通過本能幫助到大家實現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-09-09
  • 初探Delphi中的插件編程

    初探Delphi中的插件編程

    前言我寫Delphi程序是從MIS系統(tǒng)入門的,開始嘗試子系統(tǒng)劃分的時候采用的是MDI窗體的結(jié)構(gòu)。隨著系統(tǒng)功能的擴充,不斷有新的子系統(tǒng)加入系統(tǒng)中,單個工程會變得非常大,每次做一點修改都要重新編譯,單個工程的形式也不利于團隊協(xié)作。為了提高工作效率,我希望利用DLL動態(tài)鏈接庫的形式實現(xiàn)插件結(jié)構(gòu)的編程。
    2008-03-03
  • 修改 Delphi 10.3.3 IDE 字體和字體大小

    修改 Delphi 10.3.3 IDE 字體和字體大小

    Delphi,是Windows平臺下著名的快速應(yīng)用程序開發(fā)工具(Rapid Application Development,簡稱RAD)。這篇文章主要介紹了修改 Delphi 10.3.3 IDE 字體和字體大小,需要的朋友可以參考下
    2019-11-11
  • Delphi書籍15本網(wǎng)盤下載地址整理

    Delphi書籍15本網(wǎng)盤下載地址整理

    由Delphi園地整理的Delphi書籍15本常用的參考書籍,需要的朋友可以下載了。
    2011-12-12

最新評論