程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 一個功能增強的DelphiTListView組件

一個功能增強的DelphiTListView組件

編輯:Delphi

 

一個功能增強的Delphi TListView組件
lixif
www.netgocn.com

在Windoes編程中列表視圖(ListView)是一個通用控件,當將其樣式設為Report時,系統將自動為它加上一個表頭控件(以下簡稱表頭),但通常我們不能直接對這個表頭控件進行操作。同樣Delphi的TListView組件也沒有為我們提供可以直接對該表頭進行控制的方法,這篇文章介紹一種通過自定義組件的方法,對Delphi的TListView組件進行功能增強,做一個通用的列表視圖但是它增加了以下功能:

1)    增加一個可以從外部調用的排序方法,當視圖的顯示樣式為Report時,點擊各列的表頭按鈕可按其列值進行排序;

2)    點擊各列的表頭按鈕進行排序的同時在視圖的表頭上按排序方向繪制一個箭頭,其效果類似Outlook Express;

3)    增加視圖表頭的字體屬性;

4)    增加一個背景圖屬性。

通過代碼編寫增強了Delphi通用列表視圖的功能,但它仍是一個通用的列表視圖控件。

 

自定義組件的基本步驟請參見有關文章,但是在此我們選擇的基類是TListView,下面我們直接從Delphi自動生成的組件單元文件的數據類型定義部份開始(本文代碼在Delphi 4.0下完成)。

一、將Delphi自動生成的單元文件的數據類型定義部份修改為:

 

type

TListView1 = class(TListView)

private

  FaToz :Boolean;

  FoldCol :Integer;

  FPicture :TPicture;

  FHeaderFont:TFont;

  procedure SetHeaderFont(Value:TFont);

  procedure SetHeaderStyle(phd:PHDNotify);

  procedure DrawHeaderItem(pDS:PDrawItemStruct);

  procedure SetPicture(Value: TPicture);

  procedure PictureChanged(Sender: TObject);

  procedure LVCustomDraw(Sender:TCustomListView;const ARect:TRect;var DefaultDraw:Boolean);

  procedure DrawBack;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved