RefForm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:5k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit RefForm;
  2. interface
  3. uses
  4.   SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs,
  5.   ComCtrls, Menus, ImgList;
  6. type
  7.   TForm1 = class(TForm)
  8.     ListView1: TListView;
  9.     MainMenu1: TMainMenu;
  10.     File1: TMenuItem;
  11.     Exit1: TMenuItem;
  12.     View1: TMenuItem;
  13.     LargeIcons1: TMenuItem;
  14.     SmallIcons1: TMenuItem;
  15.     List1: TMenuItem;
  16.     Details1: TMenuItem;
  17.     Help1: TMenuItem;
  18.     About1: TMenuItem;
  19.     N1: TMenuItem;
  20.     CheckBoxes1: TMenuItem;
  21.     ImagesLarge: TImageList;
  22.     ImagesSmall: TImageList;
  23.     procedure FormCreate(Sender: TObject);
  24.     procedure LargeIcons1Click(Sender: TObject);
  25.     procedure SmallIcons1Click(Sender: TObject);
  26.     procedure List1Click(Sender: TObject);
  27.     procedure Details1Click(Sender: TObject);
  28.     procedure Exit1Click(Sender: TObject);
  29.     procedure About1Click(Sender: TObject);
  30.     procedure CheckBoxes1Click(Sender: TObject);
  31.     procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
  32.     procedure ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
  33.       Data: Integer; var Compare: Integer);
  34.     procedure ListView1MouseDown(Sender: TObject; Button: TMouseButton;
  35.       Shift: TShiftState; X, Y: Integer);
  36.     procedure FormDestroy(Sender: TObject);
  37.   public
  38.     { Public declarations }
  39.   private
  40.     nSortCol: Integer;
  41.   end;
  42. var
  43.   Form1: TForm1;
  44. implementation
  45. {$R *.DFM}
  46. {$R BITMAPS.RES}
  47. procedure TForm1.FormCreate(Sender: TObject);
  48. var
  49.   List: TStringList;
  50.   NewItem: TListItem;
  51.   I: Integer;
  52. begin
  53.   // stops warning message
  54.   NewItem := nil;
  55.   // load the items
  56.   ListView1.Items.Clear;
  57.   List := TStringList.Create;
  58.   try
  59.     List.LoadFromFile (
  60.       ExtractFilePath (Application.ExeName) + 'Items.txt');
  61.     for I := 0 to List.Count - 1 do
  62.       if List [I][1] = #9 then
  63.         NewItem.SubItems.Add (Trim (List [I]))
  64.       else if List [I][1] = '@' then
  65.         NewItem.ImageIndex := StrToIntDef (List [I][2], 0)
  66.       else
  67.       begin
  68.         // a new item
  69.         NewItem := ListView1.Items.Add;
  70.         NewItem.Caption := List [I];
  71.       end;
  72.   finally
  73.     List.Free;
  74.   end;
  75. end;
  76. procedure TForm1.LargeIcons1Click(Sender: TObject);
  77. begin
  78.   ListView1.ViewStyle := vsIcon;
  79.   LargeIcons1.Checked := True;
  80. end;
  81. procedure TForm1.SmallIcons1Click(Sender: TObject);
  82. begin
  83.   ListView1.ViewStyle := vsSmallIcon;
  84.   SmallIcons1.Checked := True;
  85. end;
  86. procedure TForm1.List1Click(Sender: TObject);
  87. begin
  88.   ListView1.ViewStyle := vsList;
  89.   List1.Checked := True;
  90. end;
  91. procedure TForm1.Details1Click(Sender: TObject);
  92. begin
  93.   ListView1.ViewStyle := vsReport;
  94.   Details1.Checked := True;
  95. end;
  96. procedure TForm1.Exit1Click(Sender: TObject);
  97. begin
  98.   Close;
  99. end;
  100. procedure TForm1.About1Click(Sender: TObject);
  101. begin
  102.   MessageDlg ('Reference List (ListView example)' +
  103.     #13'from "Mastering Delphi"'#13'author: Marco Cant