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......感興趣的讀者可以加以完善
上一篇:Delphi實(shí)現(xiàn)圖像文本旋轉(zhuǎn)特效完整實(shí)例代碼
欄 目:Delphi
下一篇:Delphi創(chuàng)建開機(jī)啟動(dòng)項(xiàng)的方法示例
本文標(biāo)題:Delphi7中Listview的常用功能匯總
本文地址:http://mengdiqiu.com.cn/a1/Delphi/8620.html
您可能感興趣的文章
- 01-10在Delphi實(shí)現(xiàn)在數(shù)據(jù)庫中存取圖像的圖文演示無錯(cuò)
- 01-10Delphi中判斷文件是否為文本文件的函數(shù)
- 01-10delphi中一個(gè)值得大家來考慮的DLL問題
- 01-10初探Delphi中的插件編程
- 01-10DELPHI7.0 獲取硬盤、CPU、網(wǎng)卡序列號的代碼
- 01-10Delphi 生成excel中餅圖的實(shí)例代碼
- 01-10delphi中exit,abort,break,continue的區(qū)別介紹
- 01-10Delphi中設(shè)置條件斷點(diǎn)的方法講解
- 01-10Delphi控件ListView的屬性及使用方法詳解
- 01-10Delphi之Pascal語言中的關(guān)鍵字及保留字匯總


閱讀排行
本欄相關(guān)
- 01-10在Delphi實(shí)現(xiàn)在數(shù)據(jù)庫中存取圖像的圖
- 01-10delphi建立、讀取、存貯INI文件的方法
- 01-10delphi 正弦曲線圖
- 01-10Delphi Command模式
- 01-10delphi建立、讀取、存貯INI文件的方法
- 01-10插件管理框架 for Delphi(二)
- 01-10插件管理框架 for Delphi(一)
- 01-10Delphi中判斷文件是否為文本文件的函
- 01-10delphi中一個(gè)值得大家來考慮的DLL問題
- 01-10初探Delphi中的插件編程
隨機(jī)閱讀
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10delphi制作wav文件的方法
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置