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

Delphi控件源码

开发平台:

Delphi

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