📄 afrm_tlb.pas
字号:
property Enabled: WordBool read Get_Enabled write Set_Enabled;
property BiDiMode: TxBiDiMode read Get_BiDiMode write Set_BiDiMode;
property Cursor: Smallint read Get_Cursor write Set_Cursor;
property ButtonCaption: WideString read Get_ButtonCaption write Set_ButtonCaption;
end;
// *********************************************************************//
// DispIntf: IActiveFormXDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {7B33D95F-0A2C-11D2-AE5C-04640BC10000}
// *********************************************************************//
IActiveFormXDisp = dispinterface
['{7B33D95F-0A2C-11D2-AE5C-04640BC10000}']
property Visible: WordBool dispid 1;
property AutoScroll: WordBool dispid 2;
property AutoSize: WordBool dispid 3;
property AxBorderStyle: TxActiveFormBorderStyle dispid 4;
property Caption: WideString dispid -518;
property Color: OLE_COLOR dispid -501;
property Font: IFontDisp dispid -512;
property KeyPreview: WordBool dispid 5;
property PixelsPerInch: Integer dispid 6;
property PrintScale: TxPrintScale dispid 7;
property Scaled: WordBool dispid 8;
property Active: WordBool readonly dispid 9;
property DropTarget: WordBool dispid 10;
property HelpFile: WideString dispid 11;
property DoubleBuffered: WordBool dispid 12;
property Enabled: WordBool dispid -514;
property BiDiMode: TxBiDiMode dispid 13;
property Cursor: Smallint dispid 14;
procedure AboutBox; dispid -552;
property ButtonCaption: WideString dispid 15;
end;
// *********************************************************************//
// DispIntf: IActiveFormXEvents
// Flags: (4096) Dispatchable
// GUID: {7B33D961-0A2C-11D2-AE5C-04640BC10000}
// *********************************************************************//
IActiveFormXEvents = dispinterface
['{7B33D961-0A2C-11D2-AE5C-04640BC10000}']
procedure OnActivate; dispid 1;
procedure OnClick; dispid 2;
procedure OnCreate; dispid 3;
procedure OnDblClick; dispid 4;
procedure OnDestroy; dispid 5;
procedure OnDeactivate; dispid 6;
procedure OnKeyPress(var Key: Smallint); dispid 10;
procedure OnPaint; dispid 15;
end;
// *********************************************************************//
// OLE Control Proxy class declaration
// Control Name : TActiveFormX
// Help String : ActiveFormX Control
// Default Interface: IActiveFormX
// Def. Intf. DISP? : No
// Event Interface: IActiveFormXEvents
// TypeFlags : (34) CanCreate Control
// *********************************************************************//
TActiveFormXOnKeyPress = procedure(Sender: TObject; var Key: Smallint) of object;
TActiveFormX = class(TOleControl)
private
FOnActivate: TNotifyEvent;
FOnClick: TNotifyEvent;
FOnCreate: TNotifyEvent;
FOnDblClick: TNotifyEvent;
FOnDestroy: TNotifyEvent;
FOnDeactivate: TNotifyEvent;
FOnKeyPress: TActiveFormXOnKeyPress;
FOnPaint: TNotifyEvent;
FIntf: IActiveFormX;
function GetControlInterface: IActiveFormX;
protected
procedure CreateControl;
procedure InitControlData; override;
public
procedure AboutBox;
property ControlInterface: IActiveFormX read GetControlInterface;
property DefaultInterface: IActiveFormX read GetControlInterface;
property Visible: WordBool index 1 read GetWordBoolProp write SetWordBoolProp;
property Active: WordBool index 9 read GetWordBoolProp;
property DropTarget: WordBool index 10 read GetWordBoolProp write SetWordBoolProp;
property HelpFile: WideString index 11 read GetWideStringProp write SetWideStringProp;
property DoubleBuffered: WordBool index 12 read GetWordBoolProp write SetWordBoolProp;
property Enabled: WordBool index -514 read GetWordBoolProp write SetWordBoolProp;
property BiDiMode: TOleEnum index 13 read GetTOleEnumProp write SetTOleEnumProp;
published
property AutoScroll: WordBool index 2 read GetWordBoolProp write SetWordBoolProp stored False;
property AutoSize: WordBool index 3 read GetWordBoolProp write SetWordBoolProp stored False;
property AxBorderStyle: TOleEnum index 4 read GetTOleEnumProp write SetTOleEnumProp stored False;
property Caption: WideString index -518 read GetWideStringProp write SetWideStringProp stored False;
property Color: TColor index -501 read GetTColorProp write SetTColorProp stored False;
property Font: TFont index -512 read GetTFontProp write SetTFontProp stored False;
property KeyPreview: WordBool index 5 read GetWordBoolProp write SetWordBoolProp stored False;
property PixelsPerInch: Integer index 6 read GetIntegerProp write SetIntegerProp stored False;
property PrintScale: TOleEnum index 7 read GetTOleEnumProp write SetTOleEnumProp stored False;
property Scaled: WordBool index 8 read GetWordBoolProp write SetWordBoolProp stored False;
property Cursor: Smallint index 14 read GetSmallintProp write SetSmallintProp stored False;
property ButtonCaption: WideString index 15 read GetWideStringProp write SetWideStringProp stored False;
property OnActivate: TNotifyEvent read FOnActivate write FOnActivate;
property OnClick: TNotifyEvent read FOnClick write FOnClick;
property OnCreate: TNotifyEvent read FOnCreate write FOnCreate;
property OnDblClick: TNotifyEvent read FOnDblClick write FOnDblClick;
property OnDestroy: TNotifyEvent read FOnDestroy write FOnDestroy;
property OnDeactivate: TNotifyEvent read FOnDeactivate write FOnDeactivate;
property OnKeyPress: TActiveFormXOnKeyPress read FOnKeyPress write FOnKeyPress;
property OnPaint: TNotifyEvent read FOnPaint write FOnPaint;
end;
procedure Register;
implementation
uses ComObj;
procedure TActiveFormX.InitControlData;
const
CEventDispIDs: array [0..7] of DWORD = (
$00000001, $00000002, $00000003, $00000004, $00000005, $00000006,
$0000000A, $0000000F);
CTFontIDs: array [0..0] of DWORD = (
$FFFFFE00);
CControlData: TControlData2 = (
ClassID: '{7B33D963-0A2C-11D2-AE5C-04640BC10000}';
EventIID: '{7B33D961-0A2C-11D2-AE5C-04640BC10000}';
EventCount: 8;
EventDispIDs: @CEventDispIDs;
LicenseKey: nil (*HR:$80040154*);
Flags: $0000001D;
Version: 401;
FontCount: 1;
FontIDs: @CTFontIDs);
begin
ControlData := @CControlData;
TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnActivate) - Cardinal(Self);
end;
procedure TActiveFormX.CreateControl;
procedure DoCreate;
begin
FIntf := IUnknown(OleObject) as IActiveFormX;
end;
begin
if FIntf = nil then DoCreate;
end;
function TActiveFormX.GetControlInterface: IActiveFormX;
begin
CreateControl;
Result := FIntf;
end;
procedure TActiveFormX.AboutBox;
begin
DefaultInterface.AboutBox;
end;
procedure Register;
begin
RegisterComponents('ActiveX',[TActiveFormX]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -