⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scriptclasses_c.pas

📁 源代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit ScriptClasses_C;

{
  Inno Setup
  Copyright (C) 1997-2004 Jordan Russell
  Portions by Martijn Laan
  For conditions of distribution and use, see LICENSE.TXT.

  Script support classes (compile time)

  $Id: ScriptClasses_C.pas,v 1.46 2004/12/16 19:36:06 mlaan Exp $
}

interface

uses
  uPSCompiler;

procedure ScriptClassesLibraryRegister_C(Cl: TPSPascalCompiler);

implementation

uses
  SetupTypes,
  uPSC_std, uPSC_classes, uPSC_graphics, uPSC_controls, uPSC_stdctrls,
  uPSC_forms, uPSC_extctrls, uPSC_comobj;

procedure RegisterNewStaticText_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(Cl.FindClass('TWINCONTROL'), 'TNEWSTATICTEXT') do
  begin
    RegisterProperty('AUTOSIZE', 'BOOLEAN', iptrw);
    RegisterProperty('CAPTION', 'String', iptrw);
    RegisterProperty('COLOR', 'TColor', iptrw);
    RegisterProperty('FOCUSCONTROL', 'TWinControl', iptrw);
    RegisterProperty('FONT', 'TFont', iptrw);
    RegisterProperty('ParentColor', 'Boolean', iptrw);
    RegisterProperty('ParentFont', 'Boolean', iptrw);
    RegisterProperty('SHOWACCELCHAR', 'Boolean', iptrw);
    RegisterProperty('WORDWRAP', 'Boolean', iptrw);
    RegisterProperty('ONCLICK', 'TNotifyEvent', iptrw);
    RegisterProperty('ONDBLCLICK', 'TNotifyEvent', iptrw);

    {$IFNDEF PS_MINIVCL}
    RegisterProperty('DRAGCURSOR', 'Longint', iptrw);
    RegisterProperty('DRAGMODE', 'TDragMode', iptrw);
    RegisterProperty('PARENTSHOWHINT', 'Boolean', iptrw);
    RegisterProperty('POPUPMENU', 'TPopupMenu', iptrw);
    RegisterProperty('ONDRAGDROP', 'TDragDropEvent', iptrw);
    RegisterProperty('ONDRAGOVER', 'TDragOverEvent', iptrw);
    RegisterProperty('ONENDDRAG', 'TEndDragEvent', iptrw);
    RegisterProperty('ONMOUSEDOWN', 'TMouseEvent', iptrw);
    RegisterProperty('ONMOUSEMOVE', 'TMouseMoveEvent', iptrw);
    RegisterProperty('ONMOUSEUP', 'TMouseEvent', iptrw);
    RegisterProperty('ONSTARTDRAG', 'TStartDragEvent', iptrw);
    {$ENDIF}
  end;
end;

procedure RegisterNewCheckListBox_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(Cl.FindClass('TCUSTOMLISTBOX'), 'TNEWCHECKLISTBOX') do
  begin
    RegisterMethod('function AddCheckBox(const ACaption, ASubItem: string; ALevel: Byte; AChecked, AEnabled, AHasInternalChildren, ACheckWhenParentChecked: Boolean; AObject: TObject): Integer');
    RegisterMethod('function AddGroup(const ACaption, ASubItem: string; ALevel: Byte; AObject: TObject): Integer');
    RegisterMethod('function AddRadioButton(const ACaption, ASubItem: string; ALevel: Byte; AChecked, AEnabled: Boolean; AObject: TObject): Integer');
    RegisterProperty('CHECKED', 'BOOLEAN INTEGER', iptrw);
    RegisterProperty('STATE', 'TCHECKBOXSTATE INTEGER', iptr);
    RegisterProperty('ITEMENABLED', 'BOOLEAN INTEGER', iptrw);
    RegisterProperty('ITEMLEVEL', 'BYTE INTEGER', iptr);
    RegisterProperty('ITEMOBJECT', 'TOBJECT INTEGER', iptrw);
    RegisterProperty('ITEMSUBITEM', 'STRING INTEGER', iptrw);
    RegisterProperty('FLAT', 'BOOLEAN', iptrw);
    RegisterProperty('MINITEMHEIGHT', 'INTEGER', iptrw);
    RegisterProperty('OFFSET', 'INTEGER', iptrw);
    RegisterProperty('MULTISELECT', 'BOOLEAN', iptrw);
    RegisterProperty('ONCLICKCHECK', 'TNOTIFYEVENT', iptrw);
    RegisterProperty('BORDERSTYLE', 'TBORDERSTYLE', iptrw);
    RegisterProperty('COLOR', 'TColor', iptrw);
    RegisterProperty('FONT', 'TFont', iptrw);
    RegisterProperty('ParentColor', 'Boolean', iptrw);
    RegisterProperty('ParentFont', 'Boolean', iptrw);
    RegisterProperty('SORTED', 'Boolean', iptrw);
    RegisterProperty('STYLE', 'TListBoxStyle', iptrw);
    RegisterProperty('ONCLICK', 'TNotifyEvent', iptrw);
    RegisterProperty('ONDBLCLICK', 'TNotifyEvent', iptrw);
    RegisterProperty('ONKEYDOWN', 'TKeyEvent', iptrw);
    RegisterProperty('ONKEYPRESS', 'TKeyPressEvent', iptrw);
    RegisterProperty('ONKEYUP', 'TKeyEvent', iptrw);
    RegisterProperty('SHOWLINES', 'BOOLEAN', iptrw);
    RegisterProperty('WANTTABS', 'BOOLEAN', iptrw);

    {$IFNDEF PS_MINIVCL}
    RegisterProperty('CTL3D', 'Boolean', iptrw);
    RegisterProperty('DRAGCURSOR', 'Longint', iptrw);
    RegisterProperty('DRAGMODE', 'TDragMode', iptrw);
    RegisterProperty('INTEGRALHEIGHT', 'Boolean', iptrw);
    RegisterProperty('PARENTCTL3D', 'Boolean', iptrw);
    RegisterProperty('PARENTSHOWHINT', 'Boolean', iptrw);
    RegisterProperty('POPUPMENU', 'TPopupMenu', iptrw);
    RegisterProperty('TABWIDTH', 'Integer', iptrw);
    RegisterProperty('ONDRAGDROP', 'TDragDropEvent', iptrw);
    RegisterProperty('ONDRAGOVER', 'TDragOverEvent', iptrw);
    RegisterProperty('ONENDDRAG', 'TEndDragEvent', iptrw);
    RegisterProperty('ONENTER', 'TNotifyEvent', iptrw);
    RegisterProperty('ONEXIT', 'TNotifyEvent', iptrw);
    RegisterProperty('ONMOUSEDOWN', 'TMouseEvent', iptrw);
    RegisterProperty('ONMOUSEMOVE', 'TMouseMoveEvent', iptrw);
    RegisterProperty('ONMOUSEUP', 'TMouseEvent', iptrw);
    RegisterProperty('ONSTARTDRAG', 'TStartDragEvent', iptrw);
    {$ENDIF}
  end;
end;

procedure RegisterNewProgressBar_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(Cl.FindClass('TWINCONTROL'), 'TNEWPROGRESSBAR') do
  begin
    RegisterProperty('MIN', 'LONGINT', iptrw);
    RegisterProperty('MAX', 'LONGINT', iptrw);
    RegisterProperty('POSITION', 'LONGINT', iptrw);
  end;
end;

procedure RegisterRichEditViewer_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(Cl.FindClass('TMEMO'), 'TRICHEDITVIEWER') do
  begin
    RegisterProperty('RTFTEXT', 'STRING', iptw);
    RegisterProperty('USERICHEDIT', 'BOOLEAN', iptrw);
  end;
end;

procedure RegisterPasswordEdit_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(cl.FindClass('TCUSTOMEDIT'), 'TPASSWORDEDIT') do
  begin
    RegisterProperty('AUTOSELECT', 'Boolean', iptrw);
    RegisterProperty('AUTOSIZE', 'Boolean', iptrw);
    RegisterProperty('BORDERSTYLE', 'TBorderStyle', iptrw);
    RegisterProperty('COLOR', 'TColor', iptrw);
    RegisterProperty('FONT', 'TFont', iptrw);
    RegisterProperty('HIDESELECTION', 'Boolean', iptrw);
    RegisterProperty('MAXLENGTH', 'Integer', iptrw);
    RegisterProperty('ParentColor', 'Boolean', iptrw);
    RegisterProperty('ParentFont', 'Boolean', iptrw);
    RegisterProperty('Password', 'Boolean', iptrw);
    RegisterProperty('READONLY', 'Boolean', iptrw);
    RegisterProperty('TEXT', 'string', iptrw);
    RegisterProperty('ONCHANGE', 'TNotifyEvent', iptrw);
    RegisterProperty('ONCLICK', 'TNotifyEvent', iptrw);
    RegisterProperty('ONDBLCLICK', 'TNotifyEvent', iptrw);
    RegisterProperty('ONKEYDOWN', 'TKeyEvent', iptrw);
    RegisterProperty('ONKEYPRESS', 'TKeyPressEvent', iptrw);
    RegisterProperty('ONKEYUP', 'TKeyEvent', iptrw);

    {$IFNDEF PS_MINIVCL}
    RegisterProperty('CHARCASE', 'TEditCharCase', iptrw);
    RegisterProperty('CTL3D', 'Boolean', iptrw);
    RegisterProperty('DRAGCURSOR', 'Longint', iptrw);
    RegisterProperty('DRAGMODE', 'TDragMode', iptrw);
    RegisterProperty('OEMCONVERT', 'Boolean', iptrw);
    RegisterProperty('PARENTCTL3D', 'Boolean', iptrw);
    RegisterProperty('PARENTSHOWHINT', 'Boolean', iptrw);
    RegisterProperty('POPUPMENU', 'TPopupMenu', iptrw);
    RegisterProperty('ONDRAGDROP', 'TDragDropEvent', iptrw);
    RegisterProperty('ONDRAGOVER', 'TDragOverEvent', iptrw);
    RegisterProperty('ONENDDRAG', 'TEndDragEvent', iptrw);
    RegisterProperty('ONENTER', 'TNotifyEvent', iptrw);
    RegisterProperty('ONEXIT', 'TNotifyEvent', iptrw);
    RegisterProperty('ONMOUSEDOWN', 'TMouseEvent', iptrw);
    RegisterProperty('ONMOUSEMOVE', 'TMouseMoveEvent', iptrw);
    RegisterProperty('ONMOUSEUP', 'TMouseEvent', iptrw);
    RegisterProperty('ONSTARTDRAG', 'TStartDragEvent', iptrw);
    {$ENDIF}
  end;
end;

procedure RegisterCustomFolderTreeView_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(Cl.FindClass('TWinControl'),'TCustomFolderTreeView') do
  begin
    RegisterMethod('Procedure ChangeDirectory( const Value : String; const CreateNewItems : Boolean)');
    RegisterMethod('Procedure CreateNewDirectory( const ADefaultName : String)');
    RegisterProperty('Directory', 'String', iptrw);
  end;
  CL.AddTypeS('TFolderRenameEvent', 'Procedure ( Sender : TCustomFolderTreeView; var NewName : String; var Accept : Boolean)');
end;

procedure RegisterFolderTreeView_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(Cl.FindClass('TCustomFolderTreeView'),'TFolderTreeView') do
  begin
    RegisterProperty('OnChange', 'TNotifyEvent', iptrw);
    RegisterProperty('OnRename', 'TFolderRenameEvent', iptrw);
  end;
end;

procedure RegisterStartMenuFolderTreeView_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(Cl.FindClass('TCustomFolderTreeView'),'TStartMenuFolderTreeView') do
  begin
    RegisterMethod('Procedure SetPaths( const AUserPrograms, ACommonPrograms, AUserStartup, ACommonStartup : String)');
    RegisterProperty('OnChange', 'TNotifyEvent', iptrw);
    RegisterProperty('OnRename', 'TFolderRenameEvent', iptrw);
  end;
end;

procedure RegisterBitmapImage_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(CL.FindClass('TGraphicControl'),'TBitmapImage') do
  begin
    RegisterProperty('AutoSize', 'Boolean', iptrw);
    RegisterProperty('BackColor', 'TColor', iptrw);
    RegisterProperty('Center', 'Boolean', iptrw);
    RegisterProperty('Bitmap', 'TBitmap', iptrw);
    RegisterProperty('ReplaceColor', 'TColor', iptrw);
    RegisterProperty('ReplaceWithColor', 'TColor', iptrw);
    RegisterProperty('Stretch', 'Boolean', iptrw);
  end;
end;

procedure RegisterNewNotebook_C(Cl: TPSPascalCompiler);
begin
  Cl.AddClassN(Cl.FindClass('TCustomControl'),'TNewNotebookPage');

  with Cl.AddClassN(Cl.FindClass('TWinControl'),'TNewNotebook') do
  begin
    RegisterMethod('Function FindNextPage( CurPage : TNewNotebookPage; GoForward : Boolean) : TNewNotebookPage');
    RegisterProperty('PageCount', 'Integer', iptr);
    RegisterProperty('Pages', 'TNewNotebookPage Integer', iptr);
    RegisterProperty('ActivePage', 'TNewNotebookPage', iptrw);
  end;
end;

procedure RegisterNewNotebookPage_C(Cl: TPSPascalCompiler);
begin
  with Cl.FindClass('TNewNotebookPage') do
  begin
    RegisterProperty('Color', 'TColor', iptrw);
    RegisterProperty('Notebook', 'TNewNotebook', iptrw);
    RegisterProperty('PageIndex', 'Integer', iptrw);
  end;
end;

procedure RegisterUIStateForm_C(Cl: TPSPascalCompiler);
begin
  Cl.AddClassN(Cl.FindClass('TForm'), 'TUIStateForm');
end;

procedure RegisterSetupForm_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(Cl.FindClass('TUIStateForm'), 'TSetupForm') do
  begin
    RegisterMethod('procedure Center');
    RegisterMethod('procedure CenterInsideControl(const Ctl: TWinControl; const InsideClientArea: Boolean)');
  end;
end;

procedure RegisterMainForm_C(Cl: TPSPascalCompiler);
begin
  with CL.AddClassN(CL.FindClass('TSetupForm'), 'TMainForm') do
  begin
    RegisterMethod('Procedure ShowAboutBox');
  end;
end;

procedure RegisterWizardForm_C(Cl: TPSPascalCompiler);
begin
  with Cl.AddClassN(Cl.FindClass('TSetupForm'), 'TWizardForm') do
  begin
    RegisterProperty('CANCELBUTTON', 'TBUTTON', iptr);
    RegisterProperty('NEXTBUTTON', 'TBUTTON', iptr);
    RegisterProperty('BACKBUTTON', 'TBUTTON', iptr);
    RegisterProperty('OuterNotebook', 'TNewNotebook', iptr);
    RegisterProperty('InnerNotebook', 'TNewNotebook', iptr);
    RegisterProperty('WelcomePage', 'TNewNotebookPage', iptr);
    RegisterProperty('InnerPage', 'TNewNotebookPage', iptr);
    RegisterProperty('FinishedPage', 'TNewNotebookPage', iptr);
    RegisterProperty('LicensePage', 'TNewNotebookPage', iptr);
    RegisterProperty('PasswordPage', 'TNewNotebookPage', iptr);
    RegisterProperty('InfoBeforePage', 'TNewNotebookPage', iptr);
    RegisterProperty('UserInfoPage', 'TNewNotebookPage', iptr);

⌨️ 快捷键说明

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