📄 interceptscreenproj_tlb.pas
字号:
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 AlignDisabled: WordBool readonly dispid 13;
property VisibleDockClientCount: Integer readonly dispid 14;
property Enabled: WordBool dispid -514;
property Cursor: Smallint dispid 15;
property HelpType: TxHelpType dispid 16;
property HelpKeyword: WideString dispid 17;
function GetJpegString: WideString; dispid 18;
procedure InterceptScreen; dispid 19;
function GetInternetTempFilePath: WideString; dispid 20;
end;
// *********************************************************************//
// DispIntf: IInterceptScreenEvents
// Flags: (4096) Dispatchable
// GUID: {3D56AB95-2F68-40B9-B15F-0BD86BBE194C}
// *********************************************************************//
IInterceptScreenEvents = dispinterface
['{3D56AB95-2F68-40B9-B15F-0BD86BBE194C}']
procedure OnActivate; dispid 1;
procedure OnClick; dispid 2;
procedure OnCreate; dispid 3;
procedure OnDblClick; dispid 5;
procedure OnDestroy; dispid 6;
procedure OnDeactivate; dispid 7;
procedure OnKeyPress(var Key: Smallint); dispid 11;
procedure OnPaint; dispid 16;
end;
// *********************************************************************//
// OLE Control Proxy class declaration
// Control Name : TInterceptScreen
// Help String : InterceptScreen Control
// Default Interface: IInterceptScreen
// Def. Intf. DISP? : No
// Event Interface: IInterceptScreenEvents
// TypeFlags : (34) CanCreate Control
// *********************************************************************//
TInterceptScreenOnKeyPress = procedure(Sender: TObject; var Key: Smallint) of object;
TInterceptScreen = class(TOleControl)
private
FOnActivate: TNotifyEvent;
FOnClick: TNotifyEvent;
FOnCreate: TNotifyEvent;
FOnDblClick: TNotifyEvent;
FOnDestroy: TNotifyEvent;
FOnDeactivate: TNotifyEvent;
FOnKeyPress: TInterceptScreenOnKeyPress;
FOnPaint: TNotifyEvent;
FIntf: IInterceptScreen;
function GetControlInterface: IInterceptScreen;
protected
procedure CreateControl;
procedure InitControlData; override;
public
function GetJpegString: WideString;
procedure InterceptScreen;
function GetInternetTempFilePath: WideString;
property ControlInterface: IInterceptScreen read GetControlInterface;
property DefaultInterface: IInterceptScreen 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 AlignDisabled: WordBool index 13 read GetWordBoolProp;
property VisibleDockClientCount: Integer index 14 read GetIntegerProp;
property Enabled: WordBool index -514 read GetWordBoolProp write SetWordBoolProp;
published
property ParentColor;
property ParentFont;
property Align;
property DragCursor;
property DragMode;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnStartDrag;
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 15 read GetSmallintProp write SetSmallintProp stored False;
property HelpType: TOleEnum index 16 read GetTOleEnumProp write SetTOleEnumProp stored False;
property HelpKeyword: WideString index 17 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: TInterceptScreenOnKeyPress read FOnKeyPress write FOnKeyPress;
property OnPaint: TNotifyEvent read FOnPaint write FOnPaint;
end;
procedure Register;
resourcestring
dtlServerPage = 'Servers';
implementation
uses ComObj;
procedure TInterceptScreen.InitControlData;
const
CEventDispIDs: array [0..7] of DWORD = (
$00000001, $00000002, $00000003, $00000005, $00000006, $00000007,
$0000000B, $00000010);
CTFontIDs: array [0..0] of DWORD = (
$FFFFFE00);
CControlData: TControlData2 = (
ClassID: '{0A94F797-C038-46EC-B8A2-9A2EFBFEA989}';
EventIID: '{3D56AB95-2F68-40B9-B15F-0BD86BBE194C}';
EventCount: 8;
EventDispIDs: @CEventDispIDs;
LicenseKey: nil (*HR:$00000000*);
Flags: $0000001D;
Version: 401;
FontCount: 1;
FontIDs: @CTFontIDs);
begin
ControlData := @CControlData;
TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnActivate) - Cardinal(Self);
end;
procedure TInterceptScreen.CreateControl;
procedure DoCreate;
begin
FIntf := IUnknown(OleObject) as IInterceptScreen;
end;
begin
if FIntf = nil then DoCreate;
end;
function TInterceptScreen.GetControlInterface: IInterceptScreen;
begin
CreateControl;
Result := FIntf;
end;
function TInterceptScreen.GetJpegString: WideString;
begin
Result := DefaultInterface.GetJpegString;
end;
procedure TInterceptScreen.InterceptScreen;
begin
DefaultInterface.InterceptScreen;
end;
function TInterceptScreen.GetInternetTempFilePath: WideString;
begin
Result := DefaultInterface.GetInternetTempFilePath;
end;
procedure Register;
begin
RegisterComponents('ActiveX',[TInterceptScreen]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -