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

📄 agentobjects_tlb.pas

📁 电脑编程技巧和源码。很不错的。
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    procedure Click(const CharacterID: WideString; Button: Smallint; Shift: Smallint; x: Smallint; 
                    y: Smallint); dispid 2;
    procedure DblClick(const CharacterID: WideString; Button: Smallint; Shift: Smallint; 
                       x: Smallint; y: Smallint); dispid 4;
    procedure DragStart(const CharacterID: WideString; Button: Smallint; Shift: Smallint; 
                        x: Smallint; y: Smallint); dispid 5;
    procedure DragComplete(const CharacterID: WideString; Button: Smallint; Shift: Smallint; 
                           x: Smallint; y: Smallint); dispid 6;
    procedure Show(const CharacterID: WideString; Cause: Smallint); dispid 15;
    procedure Hide(const CharacterID: WideString; Cause: Smallint); dispid 7;
    procedure RequestStart(const Request: IDispatch); dispid 9;
    procedure RequestComplete(const Request: IDispatch); dispid 11;
    procedure Restart; dispid 21;
    procedure Shutdown; dispid 12;
    procedure Bookmark(BookmarkID: Integer); dispid 16;
    procedure Command(const UserInput: IDispatch); dispid 17;
    procedure IdleStart(const CharacterID: WideString); dispid 19;
    procedure IdleComplete(const CharacterID: WideString); dispid 20;
    procedure Move(const CharacterID: WideString; x: Smallint; y: Smallint; Cause: Smallint); dispid 22;
    procedure Size(const CharacterID: WideString; Width: Smallint; Height: Smallint); dispid 23;
    procedure BalloonShow(const CharacterID: WideString); dispid 24;
    procedure BalloonHide(const CharacterID: WideString); dispid 25;
    procedure HelpComplete(const CharacterID: WideString; const Name: WideString; Cause: Smallint); dispid 26;
    procedure ListenStart(const CharacterID: WideString); dispid 27;
    procedure ListenComplete(const CharacterID: WideString; Cause: Smallint); dispid 28;
    procedure DefaultCharacterChange(const GUID: WideString); dispid 30;
    procedure AgentPropertyChange; dispid 31;
    procedure ActiveClientChange(const CharacterID: WideString; Active: WordBool); dispid 32;
  end;


// *********************************************************************//
// OLE Control Proxy class declaration
// Control Name     : TAgent
// Help String      : Microsoft Agent Control 2.0
// Default Interface: IAgentCtlEx
// Def. Intf. DISP? : No
// Event   Interface: _AgentEvents
// TypeFlags        : (2) CanCreate
// *********************************************************************//
  TAgentActivateInput = procedure(Sender: TObject; const CharacterID: WideString) of object;
  TAgentDeactivateInput = procedure(Sender: TObject; const CharacterID: WideString) of object;
  TAgentClick = procedure(Sender: TObject; const CharacterID: WideString; Button: Smallint; 
                                           Shift: Smallint; x: Smallint; y: Smallint) of object;
  TAgentDblClick = procedure(Sender: TObject; const CharacterID: WideString; Button: Smallint; 
                                              Shift: Smallint; x: Smallint; y: Smallint) of object;
  TAgentDragStart = procedure(Sender: TObject; const CharacterID: WideString; Button: Smallint; 
                                               Shift: Smallint; x: Smallint; y: Smallint) of object;
  TAgentDragComplete = procedure(Sender: TObject; const CharacterID: WideString; Button: Smallint; 
                                                  Shift: Smallint; x: Smallint; y: Smallint) of object;
  TAgentShow = procedure(Sender: TObject; const CharacterID: WideString; Cause: Smallint) of object;
  TAgentHide = procedure(Sender: TObject; const CharacterID: WideString; Cause: Smallint) of object;
  TAgentRequestStart = procedure(Sender: TObject; const Request: IDispatch) of object;
  TAgentRequestComplete = procedure(Sender: TObject; const Request: IDispatch) of object;
  TAgentBookmark = procedure(Sender: TObject; BookmarkID: Integer) of object;
  TAgentCommand = procedure(Sender: TObject; const UserInput: IDispatch) of object;
  TAgentIdleStart = procedure(Sender: TObject; const CharacterID: WideString) of object;
  TAgentIdleComplete = procedure(Sender: TObject; const CharacterID: WideString) of object;
  TAgentMove = procedure(Sender: TObject; const CharacterID: WideString; x: Smallint; y: Smallint; 
                                          Cause: Smallint) of object;
  TAgentSize = procedure(Sender: TObject; const CharacterID: WideString; Width: Smallint; 
                                          Height: Smallint) of object;
  TAgentBalloonShow = procedure(Sender: TObject; const CharacterID: WideString) of object;
  TAgentBalloonHide = procedure(Sender: TObject; const CharacterID: WideString) of object;
  TAgentHelpComplete = procedure(Sender: TObject; const CharacterID: WideString; 
                                                  const Name: WideString; Cause: Smallint) of object;
  TAgentListenStart = procedure(Sender: TObject; const CharacterID: WideString) of object;
  TAgentListenComplete = procedure(Sender: TObject; const CharacterID: WideString; Cause: Smallint) of object;
  TAgentDefaultCharacterChange = procedure(Sender: TObject; const GUID: WideString) of object;
  TAgentActiveClientChange = procedure(Sender: TObject; const CharacterID: WideString; 
                                                        Active: WordBool) of object;

  TAgent = class(TOleControl)
  private
    FOnActivateInput: TAgentActivateInput;
    FOnDeactivateInput: TAgentDeactivateInput;
    FOnClick: TAgentClick;
    FOnDblClick: TAgentDblClick;
    FOnDragStart: TAgentDragStart;
    FOnDragComplete: TAgentDragComplete;
    FOnShow: TAgentShow;
    FOnHide: TAgentHide;
    FOnRequestStart: TAgentRequestStart;
    FOnRequestComplete: TAgentRequestComplete;
    FOnRestart: TNotifyEvent;
    FOnShutdown: TNotifyEvent;
    FOnBookmark: TAgentBookmark;
    FOnCommand: TAgentCommand;
    FOnIdleStart: TAgentIdleStart;
    FOnIdleComplete: TAgentIdleComplete;
    FOnMove: TAgentMove;
    FOnSize: TAgentSize;
    FOnBalloonShow: TAgentBalloonShow;
    FOnBalloonHide: TAgentBalloonHide;
    FOnHelpComplete: TAgentHelpComplete;
    FOnListenStart: TAgentListenStart;
    FOnListenComplete: TAgentListenComplete;
    FOnDefaultCharacterChange: TAgentDefaultCharacterChange;
    FOnAgentPropertyChange: TNotifyEvent;
    FOnActiveClientChange: TAgentActiveClientChange;
    FIntf: IAgentCtlEx;
    function  GetControlInterface: IAgentCtlEx;
  protected
    procedure CreateControl;
    procedure InitControlData; override;
    function  Get_Characters: IAgentCtlCharacters;
    function  Get_AudioOutput: IAgentCtlAudioObjectEx;
    function  Get_SpeechInput: IAgentCtlSpeechInput;
    function  Get_PropertySheet: IAgentCtlPropertySheet;
    function  Get_CommandsWindow: IAgentCtlCommandsWindow;
  public
    procedure ShowDefaultCharacterProperties; overload;
    procedure ShowDefaultCharacterProperties(x: OleVariant); overload;
    procedure ShowDefaultCharacterProperties(x: OleVariant; y: OleVariant); overload;
    property  ControlInterface: IAgentCtlEx read GetControlInterface;
    property  DefaultInterface: IAgentCtlEx read GetControlInterface;
    property Characters: IAgentCtlCharacters read Get_Characters;
    property AudioOutput: IAgentCtlAudioObjectEx read Get_AudioOutput;
    property SpeechInput: IAgentCtlSpeechInput read Get_SpeechInput;
    property PropertySheet: IAgentCtlPropertySheet read Get_PropertySheet;
    property CommandsWindow: IAgentCtlCommandsWindow read Get_CommandsWindow;
    property Suspended: WordBool index 14 read GetWordBoolProp;
  published
    property Connected: WordBool index 9 read GetWordBoolProp write SetWordBoolProp stored False;
    property RaiseRequestErrors: WordBool index 21 read GetWordBoolProp write SetWordBoolProp stored False;
    property OnActivateInput: TAgentActivateInput read FOnActivateInput write FOnActivateInput;
    property OnDeactivateInput: TAgentDeactivateInput read FOnDeactivateInput write FOnDeactivateInput;
    property OnClick: TAgentClick read FOnClick write FOnClick;
    property OnDblClick: TAgentDblClick read FOnDblClick write FOnDblClick;
    property OnDragStart: TAgentDragStart read FOnDragStart write FOnDragStart;
    property OnDragComplete: TAgentDragComplete read FOnDragComplete write FOnDragComplete;
    property OnShow: TAgentShow read FOnShow write FOnShow;
    property OnHide: TAgentHide read FOnHide write FOnHide;
    property OnRequestStart: TAgentRequestStart read FOnRequestStart write FOnRequestStart;
    property OnRequestComplete: TAgentRequestComplete read FOnRequestComplete write FOnRequestComplete;
    property OnRestart: TNotifyEvent read FOnRestart write FOnRestart;
    property OnShutdown: TNotifyEvent read FOnShutdown write FOnShutdown;
    property OnBookmark: TAgentBookmark read FOnBookmark write FOnBookmark;
    property OnCommand: TAgentCommand read FOnCommand write FOnCommand;
    property OnIdleStart: TAgentIdleStart read FOnIdleStart write FOnIdleStart;
    property OnIdleComplete: TAgentIdleComplete read FOnIdleComplete write FOnIdleComplete;
    property OnMove: TAgentMove read FOnMove write FOnMove;
    property OnSize: TAgentSize read FOnSize write FOnSize;
    property OnBalloonShow: TAgentBalloonShow read FOnBalloonShow write FOnBalloonShow;
    property OnBalloonHide: TAgentBalloonHide read FOnBalloonHide write FOnBalloonHide;
    property OnHelpComplete: TAgentHelpComplete read FOnHelpComplete write FOnHelpComplete;
    property OnListenStart: TAgentListenStart read FOnListenStart write FOnListenStart;
    property OnListenComplete: TAgentListenComplete read FOnListenComplete write FOnListenComplete;
    property OnDefaultCharacterChange: TAgentDefaultCharacterChange read FOnDefaultCharacterChange write FOnDefaultCharacterChange;
    property OnAgentPropertyChange: TNotifyEvent read FOnAgentPropertyChange write FOnAgentPropertyChange;
    property OnActiveClientChange: TAgentActiveClientChange read FOnActiveClientChange write FOnActiveClientChange;
  end;

procedure Register;

implementation

uses ComObj;

procedure TAgent.InitControlData;
const
  CEventDispIDs: array [0..25] of DWORD = (
    $00000001, $00000003, $00000002, $00000004, $00000005, $00000006,
    $0000000F, $00000007, $00000009, $0000000B, $00000015, $0000000C,
    $00000010, $00000011, $00000013, $00000014, $00000016, $00000017,
    $00000018, $00000019, $0000001A, $0000001B, $0000001C, $0000001E,
    $0000001F, $00000020);
  CControlData: TControlData2 = (
    ClassID: '{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}';
    EventIID: '{F5BE8BD4-7DE6-11D0-91FE-00C04FD701A5}';
    EventCount: 26;
    EventDispIDs: @CEventDispIDs;
    LicenseKey: nil (*HR:$80040154*);
    Flags: $00000000;
    Version: 401);
begin
  ControlData := @CControlData;
  TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnActivateInput) - Cardinal(Self);
end;

procedure TAgent.CreateControl;

  procedure DoCreate;
  begin
    FIntf := IUnknown(OleObject) as IAgentCtlEx;
  end;

begin
  if FIntf = nil then DoCreate;
end;

function TAgent.GetControlInterface: IAgentCtlEx;
begin
  CreateControl;
  Result := FIntf;
end;

function  TAgent.Get_Characters: IAgentCtlCharacters;
begin
  Result := DefaultInterface.Get_Characters;
end;

function  TAgent.Get_AudioOutput: IAgentCtlAudioObjectEx;
begin
  Result := DefaultInterface.Get_AudioOutput;
end;

function  TAgent.Get_SpeechInput: IAgentCtlSpeechInput;
begin
  Result := DefaultInterface.Get_SpeechInput;
end;

function  TAgent.Get_PropertySheet: IAgentCtlPropertySheet;
begin
  Result := DefaultInterface.Get_PropertySheet;
end;

function  TAgent.Get_CommandsWindow: IAgentCtlCommandsWindow;
begin
  Result := DefaultInterface.Get_CommandsWindow;
end;

procedure TAgent.ShowDefaultCharacterProperties;
begin
  DefaultInterface.ShowDefaultCharacterProperties(EmptyParam, EmptyParam);
end;

procedure TAgent.ShowDefaultCharacterProperties(x: OleVariant);
begin
  DefaultInterface.ShowDefaultCharacterProperties(x, EmptyParam);
end;

procedure TAgent.ShowDefaultCharacterProperties(x: OleVariant; y: OleVariant);
begin
  DefaultInterface.ShowDefaultCharacterProperties(x, y);
end;

procedure Register;
begin
  RegisterComponents('ActiveX',[TAgent]);
end;

end.

⌨️ 快捷键说明

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