📄 smsredsky_tlb.pas
字号:
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;
procedure AboutBox; dispid -552;
function Init(const Com: WideString; const BaudRate: WideString; const SMSCenter: WideString): Integer; dispid 18;
procedure SendSMS(const Phone: WideString; const Mission: WideString; const SMS: WideString); dispid 19;
procedure ReadAllSMSFromGSM; dispid 20;
end;
// *********************************************************************//
// DispIntf: IRedSkyEvents
// Flags: (4096) Dispatchable
// GUID: {632AC96F-CE46-11D7-88EF-B37507C1011B}
// *********************************************************************//
IRedSkyEvents = dispinterface
['{632AC96F-CE46-11D7-88EF-B37507C1011B}']
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;
procedure OnComReceiveSMS(const PhoneNum: WideString; const SMS: WideString); dispid 4;
end;
// *********************************************************************//
// OLE Control Proxy class declaration
// Control Name : TRedSky
// Help String : RedSky Control
// Default Interface: IRedSky
// Def. Intf. DISP? : No
// Event Interface: IRedSkyEvents
// TypeFlags : (34) CanCreate Control
// *********************************************************************//
TRedSkyOnKeyPress = procedure(Sender: TObject; var Key: Smallint) of object;
TRedSkyOnComReceiveSMS = procedure(Sender: TObject; const PhoneNum: WideString;
const SMS: WideString) of object;
TRedSky = class(TOleControl)
private
FOnActivate: TNotifyEvent;
FOnClick: TNotifyEvent;
FOnCreate: TNotifyEvent;
FOnDblClick: TNotifyEvent;
FOnDestroy: TNotifyEvent;
FOnDeactivate: TNotifyEvent;
FOnKeyPress: TRedSkyOnKeyPress;
FOnPaint: TNotifyEvent;
FOnComReceiveSMS: TRedSkyOnComReceiveSMS;
FIntf: IRedSky;
function GetControlInterface: IRedSky;
protected
procedure CreateControl;
procedure InitControlData; override;
public
procedure AboutBox;
function Init(const Com: WideString; const BaudRate: WideString; const SMSCenter: WideString): Integer;
procedure SendSMS(const Phone: WideString; const Mission: WideString; const SMS: WideString);
procedure ReadAllSMSFromGSM;
property ControlInterface: IRedSky read GetControlInterface;
property DefaultInterface: IRedSky 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: TRedSkyOnKeyPress read FOnKeyPress write FOnKeyPress;
property OnPaint: TNotifyEvent read FOnPaint write FOnPaint;
property OnComReceiveSMS: TRedSkyOnComReceiveSMS read FOnComReceiveSMS write FOnComReceiveSMS;
end;
procedure Register;
resourcestring
dtlServerPage = 'Servers';
implementation
uses ComObj;
procedure TRedSky.InitControlData;
const
CEventDispIDs: array [0..8] of DWORD = (
$00000001, $00000002, $00000003, $00000005, $00000006, $00000007,
$0000000B, $00000010, $00000004);
CTFontIDs: array [0..0] of DWORD = (
$FFFFFE00);
CControlData: TControlData2 = (
ClassID: '{632AC971-CE46-11D7-88EF-B37507C1011B}';
EventIID: '{632AC96F-CE46-11D7-88EF-B37507C1011B}';
EventCount: 9;
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 TRedSky.CreateControl;
procedure DoCreate;
begin
FIntf := IUnknown(OleObject) as IRedSky;
end;
begin
if FIntf = nil then DoCreate;
end;
function TRedSky.GetControlInterface: IRedSky;
begin
CreateControl;
Result := FIntf;
end;
procedure TRedSky.AboutBox;
begin
DefaultInterface.AboutBox;
end;
function TRedSky.Init(const Com: WideString; const BaudRate: WideString; const SMSCenter: WideString): Integer;
begin
Result := DefaultInterface.Init(Com, BaudRate, SMSCenter);
end;
procedure TRedSky.SendSMS(const Phone: WideString; const Mission: WideString; const SMS: WideString);
begin
DefaultInterface.SendSMS(Phone, Mission, SMS);
end;
procedure TRedSky.ReadAllSMSFromGSM;
begin
DefaultInterface.ReadAllSMSFromGSM;
end;
procedure Register;
begin
RegisterComponents('ActiveX',[TRedSky]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -