| Class TSystemListView (unit SystemTreeView) |
TCustomListView
| Constructors |
constructor Create(AOwner: TComponent);| Functions |
destructor Destroy;
function DisplayContextMenu(Item: TListItem; Where: TPoint): boolean;
function GetFullPath(const Item: TListItem): string;
function GetItemAttrs(const Item: TListItem): UINT;
procedure Reset(const ParentNode: TTreeNode);
procedure SetColumnWidths(NameWidth, SizeWidth, TypeWidth,
ModifiedWidth: integer);
function AddNode(const ShellFolder: IShellFolder;
FQ_IDList, IDList: PItemIDList; const ParentNode: TTreeNode): TListItem;
function AlphaSort: Boolean;
procedure CNNotify(var Message: TWMNotify);
procedure CreateColumns(ColType: TColumnType);
procedure CreateWnd;
function CustomSort(SortProc: TLVCompare; Data: Longint): Boolean;
function EnumerateFiles(const Folder: IShellFolder;
const ParentNode: TTreeNode): boolean;
function GetItemData(Item: TListItem): TFolderItemData;
procedure Loaded;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
procedure SetColumnType(ColType: TColumnType);
procedure SetShowFolders(Val: boolean);
function AddItemData(ItemFolder: IShellFolder; aIDList,
aFQ_IDList: PItemIDList; Attrs: UINT): TFolderItemData;
procedure FreeAllItemData;
procedure FreeItemData(Item: TListItem);
function GetValidHandle: HWND;| Properties |
property Align :
property AllocBy :
property BorderStyle :
property Color :
property ColumnClick :
property Columns :
property ColumnType : TColumnType
property Ctl3D :
property DragCursor :
property DragMode :
property Font :
property HideSelection :
property IconOptions :
property Items :
property MultiSelect :
property ParentShowHint :
property PopupMenu :
property ReadOnly :
property ShowColumnHeaders :
property ShowFolders : boolean
property ShowHiddenFiles : boolean
property ShowHint :
property SortType :
property TabOrder :
property TabStop :
property ViewStyle :
property Visible :
property ShowErrorsInMsgBox : boolean| Events |
event OnAddListItem : TSLVAddListItem
event OnChange :
event OnChanging :
event OnClick :
event OnColumnClick :
event OnCompare :
event OnCreateColumns : TSLVCreateColumns
event OnDblClick :
event OnDeletion :
event OnDragDrop :
event OnDragOver :
event OnEdited :
event OnEditing :
event OnEndDrag :
event OnEnter :
event OnExit :
event OnInsert :
event OnKeyDown :
event OnKeyPress :
event OnKeyUp :
event OnMouseDown :
event OnMouseMove :
event OnMouseUp :
event OnStartDrag : | Variables |
FColumnType : TColumnType;
FLastNode : TTreeNode;
FOnAddListItem : TSLVAddListItem;
FOnCreateColumns : TSLVCreateColumns;
FShowErrorsInMsgBox : boolean;
FShowFolders : boolean;
FShowHiddenFiles : boolean;| Constructors |
constructor Create(AOwner: TComponent);------------------------------------------------------------------------------} {------------------------------------------------------------------------------} {------------------------------------------------------------------------------} {------------------------------------------------------------------------------} {------------------------------------------------------------------------------
| Functions |
destructor Destroy;Create
function DisplayContextMenu(Item: TListItem; Where: TPoint): boolean;****************************************************************************** DisplayContextMenu:
function GetFullPath(const Item: TListItem): string;
function GetItemAttrs(const Item: TListItem): UINT;
procedure Reset(const ParentNode: TTreeNode);ctUnknown;
procedure SetColumnWidths(NameWidth, SizeWidth, TypeWidth,
ModifiedWidth: integer);
function AddNode(const ShellFolder: IShellFolder;
FQ_IDList, IDList: PItemIDList; const ParentNode: TTreeNode): TListItem;always protect this stuff to make sure it gets reset.
function AlphaSort: Boolean;CustomSort
procedure CNNotify(var Message: TWMNotify);FreeAllItemData} (******************************************************************************* CNNotify: Trap notification messages sent to the window. This is damn silly, but it's the only way we can know when an item is being deleted. I think it's an oversight in the VCL, so until Borland fixes it, just live with it.
procedure CreateColumns(ColType: TColumnType);This will be based on what type of stuff we are enumerating eventually
procedure CreateWnd;
function CustomSort(SortProc: TLVCompare; Data: Longint): Boolean;Status is returned in the 'code' portion (low word) of the result. Search for 'HResult' in Winodws.pas to read more about it. 0 means sort by name.
function EnumerateFiles(const Folder: IShellFolder;
const ParentNode: TTreeNode): boolean;
function GetItemData(Item: TListItem): TFolderItemData;CNNotify
procedure Loaded;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);try
procedure SetColumnType(ColType: TColumnType);
procedure SetShowFolders(Val: boolean);
function AddItemData(ItemFolder: IShellFolder; aIDList,
aFQ_IDList: PItemIDList; Attrs: UINT): TFolderItemData;AddNode
procedure FreeAllItemData;FreeItemData
procedure FreeItemData(Item: TListItem);AddItemDta
function GetValidHandle: HWND;ResetTreeView
| Properties |
property Align : Published protected properties
property AllocBy :
property BorderStyle :
property Color :
property ColumnClick :
property Columns :
property ColumnType : TColumnType
property Ctl3D :
property DragCursor :
property DragMode :
property Font :
property HideSelection :
property IconOptions :
property Items :
property MultiSelect :
property ParentShowHint :
property PopupMenu :
property ReadOnly :
property ShowColumnHeaders :
property ShowFolders : boolean
property ShowHiddenFiles : boolean
property ShowHint :
property SortType :
property TabOrder :
property TabStop :
property ViewStyle :
property Visible :
property ShowErrorsInMsgBox : boolean| Events |
event OnAddListItem : TSLVAddListItem
event OnChange :
event OnChanging :
event OnClick :
event OnColumnClick :
event OnCompare :
event OnCreateColumns : TSLVCreateColumnsthis stuff can't be saved with the form. It has to be read every time for obvious reasons.
event OnDblClick :
event OnDeletion :
event OnDragDrop :
event OnDragOver :
event OnEdited :
event OnEditing :
event OnEndDrag :
event OnEnter :
event OnExit :
event OnInsert :
event OnKeyDown :
event OnKeyPress :
event OnKeyUp :
event OnMouseDown :
event OnMouseMove :
event OnMouseUp :
event OnStartDrag : | Variables |
FColumnType : TColumnType;
FLastNode : TTreeNode;
FOnAddListItem : TSLVAddListItem;
FOnCreateColumns : TSLVCreateColumns;
FShowErrorsInMsgBox : boolean;
FShowFolders : boolean;
FShowHiddenFiles : boolean;This will eventually be a set of attributes (system, read-only, etc.