home *** CD-ROM | disk | FTP | other *** search
- unit ExtForm;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
- ComCtrls, ImgList, Menus;
-
- type
- TMainForm = class(TForm)
- ListView: TListView;
- ImageList: TImageList;
- procedure FormDestroy(Sender: TObject);
- procedure ListViewMouseUp(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- private
- FShellView: TObject;
- public
- property ShellView: TObject read FShellView write FShellView;
- end;
-
- implementation
-
- uses ViewObj, ActiveX, ShlObj;
-
- {$R *.DFM}
-
- { TMainForm }
-
- procedure TMainForm.FormDestroy(Sender: TObject);
- var
- Item: TListItem;
- I: Integer;
- M: IMalloc;
- begin
- if SHGetMalloc(M) = S_OK then
- with ListView do
- for I := 0 to Items.Count - 1 do
- begin
- Item := Items[I];
- if Item.Data <> nil then
- begin
- M.Free(Item.Data);
- Item.Data := nil;
- end;
- end;
- end;
-
- procedure TMainForm.ListViewMouseUp(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- begin
- if Button = mbRight then
- (ShellView as TViewObject).ContextMenu;
- end;
-
- end.
-