📄 scriptclasses_c.pas
字号:
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 + -