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.     AddItem1: TMenuItem;
  22.     N2: TMenuItem;
  23.     procedure FormCreate(Sender: TObject);
  24.     procedure List1Click(Sender: TObject);
  25.     procedure Details1Click(Sender: TObject);
  26.     procedure Exit1Click(Sender: TObject);
  27.     procedure About1Click(Sender: TObject);
  28.     procedure CheckBoxes1Click(Sender: TObject);
  29.     procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
  30.     procedure ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
  31.       Data: Integer; var Compare: Integer);
  32.     procedure FormDestroy(Sender: TObject);
  33.     procedure AddItem1Click(Sender: TObject);
  34.     procedure ListView1ItemDoubleClick(Sender: TObject; Item: TListItem);
  35.   public
  36.     { Public declarations }
  37.   private
  38.     nSortCol: Integer;
  39.   end;
  40. var
  41.   Form1: TForm1;
  42. implementation
  43. uses NewDial;
  44. {$R *.xfm}
  45. procedure TForm1.FormCreate(Sender: TObject);
  46. var
  47.   List: TStringList;
  48.   NewItem: TListItem;
  49.   I: Integer;
  50. begin
  51.   // stops warning message
  52.   NewItem := nil;
  53.   // load the items
  54.   ListView1.Items.Clear;
  55.   List := TStringList.Create;
  56.   try
  57.     List.LoadFromFile (
  58.       ExtractFilePath (Application.ExeName) + 'Items.txt');
  59.     for I := 0 to List.Count - 1 do
  60.       if List [I][1] = #9 then
  61.         NewItem.SubItems.Add (Trim (List [I]))
  62.       else if List [I][1] = '@' then
  63.         NewItem.ImageIndex := StrToIntDef (List [I][2], 0)
  64.       else
  65.       begin
  66.         // a new item
  67.         NewItem := ListView1.Items.Add;
  68.         NewItem.Caption := List [I];
  69.       end;
  70.   finally
  71.     List.Free;
  72.   end;
  73. end;
  74. procedure TForm1.List1Click(Sender: TObject);
  75. begin
  76.   ListView1.ViewStyle := vsList;
  77.   List1.Checked := True;
  78. end;
  79. procedure TForm1.Details1Click(Sender: TObject);
  80. begin
  81.   ListView1.ViewStyle := vsReport;
  82.   Details1.Checked := True;
  83. end;
  84. procedure TForm1.Exit1Click(Sender: TObject);
  85. begin
  86.   Close;
  87. end;
  88. procedure TForm1.About1Click(Sender: TObject);
  89. begin
  90.   MessageDlg ('Reference List (ListView example)' +
  91.     #13'from "Mastering Delphi"'#13'author: Marco Cant