Chinaunix首页 | 论坛 | 博客
  • 博客访问: 80581
  • 博文数量: 27
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-21 11:32
文章分类

全部博文(27)

文章存档

2010年(3)

2009年(13)

2008年(11)

我的朋友

分类: C/C++

2009-05-24 15:50:08

 

凡是要ComboBox类型插件,都必须要实现该接口。

接口定义如下:

IAEUIComboBox : IUnknown

{

    //

    // Raw methods provided by interface

    //

 

      virtual HRESULT __stdcall GetEnabled (

        /*[out]*/ VARIANT_BOOL * pVal ) = 0;

      virtual HRESULT __stdcall OnCreate (

        /*[in]*/ IUnknown * hook,

        /*[in]*/ IUnknown * combobox ) = 0;

      virtual HRESULT __stdcall EditChange ( ) = 0;

      virtual HRESULT __stdcall SelectionChange (

        /*[in]*/ long index ) = 0;

      virtual HRESULT __stdcall GetTooltip (

        /*[out]*/ BSTR * tooltip ) = 0;

      virtual HRESULT __stdcall GetCaption (

        /*[out]*/ BSTR * caption ) = 0;

      virtual HRESULT __stdcall GetCategory (

        /*[out]*/ BSTR * category ) = 0;

      virtual HRESULT __stdcall OnKeyDown (

        /*[in]*/ long keycode,

        /*[in]*/ long shift ) = 0;

      virtual HRESULT __stdcall Deactivate (

        /*[out]*/ VARIANT_BOOL * pVal ) = 0;

};

²        GetEnabled 插件是否可用。

²        OnCreate 插件被创建时候,系统会调用该函数。该函数有两个参数,第一个是IAEApplication,该接口参见前面的说明;第二个是IAEComboBox,插件可以通过该接口来操作ComboBox控件。

²        EditChange ComboBox控件发生变化时候,系统会调用该函数通知插件。

²        SelectionChange 同上。

²        GetTooltip 插件的提示信息。必须设置,否则系统不认可该插件。

²        GetCaption插件的名称。必须设置,否则系统不认可该插件。

²        GetCategory 插件的分组名称。必须设置,否则系统不认可该插件。

²        OnKeyDown 接收系统按键消息。

²        Deactivate 系统关闭时候调用该函数,通知插件释放资源,准备退出。

 

创建一个编辑UI插件时候,系统会创建该接口并把指针传递给编辑插件,编辑插件通过该接口操作Edt控件。

接口定义如下:

IAEEdit : IUnknown

{

    //

    // Raw methods provided by interface

    //

 

      virtual HRESULT __stdcall get_EditText (

        /*[out,retval]*/ BSTR * pVal ) = 0;

      virtual HRESULT __stdcall put_EditText (

        /*[in]*/ BSTR pVal ) = 0;

      virtual HRESULT __stdcall get_EditHint (

        /*[out,retval]*/ BSTR * pVal ) = 0;

      virtual HRESULT __stdcall put_EditHint (

        /*[in]*/ BSTR pVal ) = 0;

      virtual HRESULT __stdcall get_EditStyle (

        /*[out,retval]*/ long * pVal ) = 0;

      virtual HRESULT __stdcall put_EditStyle (

        /*[in]*/ long pVal ) = 0;

      virtual HRESULT __stdcall get_ReadOnly (

        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;

      virtual HRESULT __stdcall put_ReadOnly (

        /*[in]*/ VARIANT_BOOL pVal ) = 0;

      virtual HRESULT __stdcall get_LabelWidth (

        /*[out,retval]*/ long * pVal ) = 0;

      virtual HRESULT __stdcall put_LabelWidth (

        /*[in]*/ long pVal ) = 0;

};

 

创建一个编辑的UI插件,必须实现该接口。

接口定义如下:

IAEUIEdit : IUnknown

{

    //

    // Raw methods provided by interface

    //

 

      virtual HRESULT __stdcall GetEnabled (

        /*[out]*/ VARIANT_BOOL * pVal ) = 0;

      virtual HRESULT __stdcall OnCreate (

        /*[in]*/ IUnknown * hook,

        /*[in]*/ IUnknown * edit ) = 0;

      virtual HRESULT __stdcall EditChange ( ) = 0;

      virtual HRESULT __stdcall GetTooltip (

        /*[out]*/ BSTR * tooltip ) = 0;

      virtual HRESULT __stdcall GetCaption (

        /*[out]*/ BSTR * caption ) = 0;

      virtual HRESULT __stdcall GetCategory (

        /*[out]*/ BSTR * category ) = 0;

      virtual HRESULT __stdcall OnKeyDown (

        /*[in]*/ long keycode,

        /*[in]*/ long shift ) = 0;

      virtual HRESULT __stdcall Deactivate (

        /*[out]*/ VARIANT_BOOL * pVal ) = 0;

};

²        GetEnabled 插件是否可用

²        OnCreate 插件被创建时候,系统会调用该函数。该函数有两个参数,第一个是IAEApplication,该接口参见前面的说明;第二个是IAEEdit,插件可以通过该接口来操作Edit控件。

²        EditChange 编辑控件内容改变时候,系统调用该函数。

²        GetTooltip 插件的提示信息。必须设置,否则系统不认可该插件。

²        GetCaption插件的名称。必须设置,否则系统不认可该插件。

²        GetCategory 插件的分组名称。必须设置,否则系统不认可该插件。

²        OnKeyDown 接收系统按键消息。

²        Deactivate 系统关闭时候调用该函数,通知插件释放资源,准备退出。

弹出菜单样式的UI接口。当插件属于弹出菜单样式的UI插件时候,该插件被创建时候,会得到该接口,以便增加弹出菜单的子命令项。

接口定义如下:

IAEControlPopup : IUnknown

{

    //

    // Raw methods provided by interface

    //

 

      virtual HRESULT __stdcall AddChildCommand (

        /*[in]*/ long id,

        /*[in]*/ BSTR cmdname ) = 0;

};

²        AddChildCommand 该接口只有一个函数。该函数是增加一个子命令项。第一个参数是自然数,从0逐个递增;第二个参数是命令项的名称。

 

IAEUIControlPopup : IUnknown

{

    //

    // Raw methods provided by interface

    //

 

      virtual HRESULT __stdcall GetEnabled (

        /*[in]*/ long id,

        /*[out]*/ VARIANT_BOOL * pVal ) = 0;

      virtual HRESULT __stdcall GetChecked (

        /*[in]*/ long id,

        /*[out]*/ VARIANT_BOOL * pVal ) = 0;

      virtual HRESULT __stdcall OnCreate (

        /*[in]*/ IUnknown * hook,

        /*[in]*/ IUnknown * popupctrl ) = 0;

      virtual HRESULT __stdcall GetTooltip (

        /*[out]*/ BSTR * tooltip ) = 0;

      virtual HRESULT __stdcall GetCaption (

        /*[out]*/ BSTR * caption ) = 0;

      virtual HRESULT __stdcall GetCategory (

        /*[out]*/ BSTR * category ) = 0;

      virtual HRESULT __stdcall SelectChildCmd (

        /*[in]*/ long id ) = 0;

      virtual HRESULT __stdcall Deactivate (

        /*[out]*/ VARIANT_BOOL * pVal ) = 0;

};

 

创建色彩选择插件时候,系统会创建该接口并传递给色彩选择插件,插件通过该接口查询并设置色彩。

接口定义如下:

IAEColor : IUnknown

{

    //

    // Raw methods provided by interface

    //

 

      virtual HRESULT __stdcall get_Color (

        /*[out,retval]*/ OLE_COLOR * pVal ) = 0;

      virtual HRESULT __stdcall put_Color (

        /*[in]*/ OLE_COLOR pVal ) = 0;

};

 

如果要创建色彩选择插件,必须实现该接口。

IAEUIColor : IUnknown

{

    //

    // Raw methods provided by interface

    //

 

      virtual HRESULT __stdcall GetEnabled (

        /*[out]*/ VARIANT_BOOL * pVal ) = 0;

      virtual HRESULT __stdcall OnCreate (

        /*[in]*/ IUnknown * hook,

        /*[in]*/ IUnknown * Color ) = 0;

      virtual HRESULT __stdcall GetIcon (

        /*[out]*/ OLE_HANDLE * icon ) = 0;

      virtual HRESULT __stdcall GetTooltip (

        /*[out]*/ BSTR * tooltip ) = 0;

      virtual HRESULT __stdcall GetCaption (

        /*[out]*/ BSTR * caption ) = 0;

      virtual HRESULT __stdcall GetCategory (

        /*[out]*/ BSTR * category ) = 0;

      virtual HRESULT __stdcall OnClick ( ) = 0;

      virtual HRESULT __stdcall Deactivate (

        /*[out]*/ VARIANT_BOOL * pVal ) = 0;

};

2.15 IAEInputEvent

该接口用来设置一个连接点,以便监听AEMap的命令输入。

接口定义如下:

IAEInputEvent : IUnknown

{

    //

    // Raw methods provided by interface

    //

 

      virtual HRESULT __stdcall Advise (

        /*[in]*/ IUnknown * callback,

        /*[out]*/ long * cookie ) = 0;

      virtual HRESULT __stdcall Unadvise (

        /*[in]*/ long cookie ) = 0;

};

²        Advise 增加一个连接点,该连接点用来监听命令的输入。

²        Unadvise 删除一个连接点

 

2.16 IAEInputCallBack

IAEInputCallBack : IUnknown

{

    //

    // Raw methods provided by interface

    //

 

      virtual HRESULT __stdcall Input (

        /*[in]*/ BSTR bstr ) = 0;

};

 

阅读(918) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~