分类: 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;
};
该接口用来设置一个连接点,以便监听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 删除一个连接点
IAEInputCallBack : IUnknown
{
//
// Raw methods provided by interface
//
virtual HRESULT __stdcall Input (
/*[in]*/ BSTR bstr ) = 0;
};