ucomponentlist.pas

来自「一个模拟Delphi的快速开发环境RAD」· PAS 代码 · 共 247 行

PAS
247
字号
unit UComponentList;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Menus, ExtCtrls, Buttons, Grids, Mask, ComCtrls, DB, DBTables,
  DBGrids, DBCtrls, DBCGrids, FileCtrl, MPlayer,  Gauges, IBCtrls,
  Calendar, Outline, DirOutln, Spin, ColorGrd, quickrpt, Qrctrls, qrprntr;

type
  TComponentList = class(TForm)
    CompList: TListBox;
    btnCancel: TButton;
    btnOK: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    procedure btnOKClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    XPos,YPos:integer;
  public
    { Public declarations }
  end;


var
  ComponentList: TComponentList;

implementation

uses Uconst;


{$R *.DFM}

var
  CompList:TStringList;

procedure TComponentList.btnOKClick(Sender: TObject);
var
  SelectClass:TPersistentClass;
begin
   SelectClass:=GetClass(Trim('T'+CompList.Items[CompList.ItemIndex]));
   if SelectClass = nil then Exit;
   ProxyDesigner.CreateComponent(TComponentClass(SelectClass),ProxyDesigner.Form,XPos,YPos,0,0);
   Inc(YPos,20);
   if YPos>ProxyDesigner.Form.ClientHeight then begin
      Inc(XPos,20);
      YPos:=0;
   end;
end;

procedure TComponentList.btnCancelClick(Sender: TObject);
begin
   ModalResult:=mrCancel;
end;

procedure TComponentList.FormCreate(Sender: TObject);
begin
// 哪欺惩飘狼 格废阑 舅瘤 给秦辑 公侥窍霸 格废阑 荐悼栏肺 眠啊
     CompList.Items.BeginUpdate;
     CompList.Items.Add('MainMenu');
     CompList.Items.Add('PopupMenu');
     CompList.Items.Add('Button');
     CompList.Items.Add('Label');
     CompList.Items.Add('Edit');
     CompList.Items.Add('Memo');
     CompList.Items.Add('CheckBox');
     CompList.Items.Add('RadioButton');
     CompList.Items.Add('ListBox');
     CompList.Items.Add('ComboBox');
     CompList.Items.Add('GroupBox');
     CompList.Items.Add('RadioGroup');
     CompList.Items.Add('Panel');
     CompList.Items.Add('BitBtn');
     CompList.Items.Add('SpeedButton');
     CompList.Items.Add('MaskEdit');
     CompList.Items.Add('StringGrid');
     CompList.Items.Add('DrawGrid');
     CompList.Items.Add('Image');
     CompList.Items.Add('Shape');
     CompList.Items.Add('Bevel');
     CompList.Items.Add('ScrollBox');
     CompList.Items.Add('TabControl');
     CompList.Items.Add('PageControl');
     CompList.Items.Add('RichEdit');
     CompList.Items.Add('TrackBar');
     CompList.Items.Add('ImageList');
     CompList.Items.Add('ProgressBar');
     CompList.Items.Add('UpDown');
     CompList.Items.Add('HotKey');
     CompList.Items.Add('TreeView');
     CompList.Items.Add('ListView');
     CompList.Items.Add('HeaderControl');
     CompList.Items.Add('StatusBar');
     CompList.Items.Add('DataSource');
     CompList.Items.Add('Table');
     CompList.Items.Add('Query');
     CompList.Items.Add('Database');
     CompList.Items.Add('StoredProc');
     CompList.Items.Add('Session');
     CompList.Items.Add('BatchMove');
     CompList.Items.Add('UpdateSQL');
     CompList.Items.Add('DBGrid');
     CompList.Items.Add('DBNavigator');
     CompList.Items.Add('DBText');
     CompList.Items.Add('DBEdit');
     CompList.Items.Add('DBMemo');
     CompList.Items.Add('DBImage');
     CompList.Items.Add('DBListBox');
     CompList.Items.Add('DBComboBox');
     CompList.Items.Add('DBCheckBox');
     CompList.Items.Add('DBRadioGroup');
     CompList.Items.Add('DBLookupListBox');
     CompList.Items.Add('DBLookupComboBox');
     CompList.Items.Add('OpenDialog');
     CompList.Items.Add('SaveDialog');
     CompList.Items.Add('FontDialog');
     CompList.Items.Add('ColorDialog');
     CompList.Items.Add('PrintDialog');
     CompList.Items.Add('PrinterSetupDialog');
     CompList.Items.Add('FindDialog');
     CompList.Items.Add('ReplaceDialog');
     CompList.Items.Add('Timer');
     CompList.Items.Add('PaintBox');
     CompList.Items.Add('FileListBox');
     CompList.Items.Add('DirectoryListBox');
     CompList.Items.Add('DriveComboBox');
     CompList.Items.Add('FilterComboBox');
     CompList.Items.Add('MediaPlayer');
     CompList.Items.Add('IBEventAlerter');
     CompList.Items.Add('Gauge');
     CompList.Items.Add('ColorGrid');
     CompList.Items.Add('SpinButton');
     CompList.Items.Add('SpinEdit');
     CompList.Items.Add('DirectoryOutline');
     CompList.Items.Add('Calendar');
     CompList.Items.EndUpdate;
     CompList.ItemIndex:=0;
end;

procedure TComponentList.Edit1Change(Sender: TObject);
var
   Index:Integer;
begin
   for Index:=CompList.ItemIndex to CompList.Items.Count-1 do
      if Pos(UpperCase(Edit1.Text),UpperCase(CompList.Items[Index]))>0 then begin
         CompList.ItemIndex:=Index;
         Exit;
      end;
end;

procedure TComponentList.FormShow(Sender: TObject);
begin
   Edit1.SetFocus;
end;

{initialization
    RegisterClass(TButton);
    RegisterClass(TMainMenu);
    RegisterClass(TPopupMenu);
    RegisterClass(TLabel);
    RegisterClass(TEdit);
    RegisterClass(TEdit);
    RegisterClass(TMemo);
    RegisterClass(TRadioButton);
    RegisterClass(TCheckBox);
    RegisterClass(TListBox);
    RegisterClass(TComboBox);
    RegisterClass(TScrollBar);
    RegisterClass(TGroupBox);
    RegisterClass(TRadioGroup);
    RegisterClass(TPanel);
    RegisterClass(TBitBtn);
    RegisterClass(TSpeedButton);
    RegisterClass(TMaskEdit);
    RegisterClass(TStringGrid);
    RegisterClass(TImage);
    RegisterClass(TShape);
    RegisterClass(TBevel);
    RegisterClass(TScrollBox);
    RegisterClass(TTabControl);
    RegisterClass(TPageControl);
    RegisterClass(TTreeView);
    RegisterClass(TListView);
    RegisterClass(TImageList);
    RegisterClass(THeaderControl);
    RegisterClass(TRichEdit);
    RegisterClass(TStatusBar);
    RegisterClass(TTrackBar);
    RegisterClass(TProgressBar);
    RegisterClass(TUpDown);
    RegisterClass(THotKey);
    RegisterClass(TTable);
    RegisterClass(TQuery);
    RegisterClass(TDataSource);
    RegisterClass(TStoredProc);
    RegisterClass(TDatabase);
    RegisterClass(TSession);
    RegisterClass(TBatchMove);
    RegisterClass(TUpdateSQL);
    RegisterClass(TDBGrid);
    RegisterClass(TDBNavigator);
    RegisterClass(TDBText);
    RegisterClass(TDBEdit);
    RegisterClass(TDBMemo);
    RegisterClass(TDBImage);
    RegisterClass(TDBListBox);
    RegisterClass(TDBComboBox);
    RegisterClass(TDBCheckBox);
    RegisterClass(TDBRadioGroup);
    RegisterClass(TDBLookupListBox);
    RegisterClass(TDBLookupComboBox);
    RegisterClass(TDBCtrlGrid);
    RegisterClass(TTimer);
    RegisterClass(TPaintBox);
    RegisterClass(TFileListBox);
    RegisterClass(TDirectoryListBox);
    RegisterClass(TDriveComboBox);
    RegisterClass(TFilterComboBox);
    RegisterClass(TMediaPlayer);
    RegisterClass(TQuickRep);
    RegisterClass(TQRBand);
    RegisterClass(TQRGroup);
    RegisterClass(TQRDetailLink);
    RegisterClass(TQRLabel);
    RegisterClass(TQRMemo);
    RegisterClass(TQRDBText);
    RegisterClass(TQRDBCalc);
    RegisterClass(TQRSysData);
    RegisterClass(TQRShape);
    RegisterClass(TQRPreview);
    RegisterClass(TIBEventAlerter);
    RegisterClass(TGauge);
    RegisterClass(TColorGrid);
    RegisterClass(TSpinButton);
    RegisterClass(TSpinEdit);
    RegisterClass(TDirectoryOutline);
    RegisterClass(TCalendar);
   } 
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?