ICAWindow 接口

// {FF8F3A9C-4628-4a2d-B5D6-B9C72377BAFB}
const GUID IID_ICAWindow = 
{ 0xff8f3a9c, 0x4628, 0x4a2d, { 0xb5, 0xd6, 0xb9, 0xc7, 0x23, 0x77, 0xba, 0xfb } };

interface ICAWindow : public IUnknown
{
    virtual HRESULT __stdcall get_HWND(HWND* pHwnd) = 0;
    virtual HRESULT __stdcall get_ImageList(HIMAGELIST* phImageList) = 0;
    virtual HRESULT __stdcall get_CurrentFolder(ICANode** ppNode) = 0;
    virtual HRESULT __stdcall get_SelectedNodesCount(long* pnCount) = 0;
    virtual HRESULT __stdcall get_SelectedNodes(ICANodeCollection** ppNodeCollection) = 0;
    virtual HRESULT __stdcall get_NodesCanSelect(ICANodeCollection** ppNodeCollection) = 0;
    virtual HRESULT __stdcall IsFoldersWindowFocused() = 0;
    virtual HRESULT __stdcall IsNodesWindowFocused() = 0;
    virtual HRESULT __stdcall NewArticle(ICANode* pParentNode, BSTR bstrTitle) = 0;
    virtual HRESULT __stdcall NewArticleUsingTemplate(ICANode* pParentNode, BSTR bstrTitle, BSTR bstrTemplateFileName) = 0;
    virtual HRESULT __stdcall EditArticle(ICANode* pArticle) = 0;
virtual HRESULT __stdcall get_BookCount(long* pnCount) = 0; virtual HRESULT __stdcall get_Book(long nBookIndex, ICABook** ppBook) = 0; virtual HRESULT __stdcall AddBook(BSTR bstrBookGUID) = 0; virtual HRESULT __stdcall CloseBook(BSTR bstrBookGUID) = 0; virtual HRESULT __stdcall ViewArticle(BSTR bstrBookGUID, long nArticleNodeID) = 0; };
CyberArticle在初始化普通插件的时候,会传入ICAApp 对象。插件可以保留该对象,然后在后面使用。通过ICAApp,可以获得ICAWindow 对象。通过ICAWindow ,可以对CyberArticle进行控制,例如打开书籍,新建,查看文章等。

get_HWND(HWND* pHwnd)

说明

获得CyberArticle主窗口句柄

参数

  • pHwnd:[out]。返回窗口句柄

返回

S_OK或者E_INVALIDARG。

get_ImageList(HIMAGELIST* phImageList)

说明

获得CyberArticle书籍节点列表用的Image List句柄。

参数

  • phImageList:[out]。返回Image List句柄

返回

S_OK或者E_INVALIDARG。

get_CurrentFolder(ICANode** ppNode)

说明

获得当前选中的CyberArticle书籍文件夹。

参数

  • ppNode:[out]。返回当前选中的文件夹接口。

返回

S_OK或者E_INVALIDARG。

get_SelectedNodesCount(long* pnCount)

说明

返回选中的节点数量。

参数

  • pnCount:[out]。返回选中的节点数量。

返回

S_OK或者E_INVALIDARG。

get_SelectedNodes(ICANodeCollection** ppNodeCollection)

说明

返回选中的节点。

参数

  • ppNodeCollection:[out]。返回选中的节点Collection。

返回

S_OK或者E_INVALIDARG。

get_NodesCanSelect(ICANodeCollection** ppNodeCollection)

说明

保留

参数

  • 保留

返回

保留

IsFoldersWindowFocused()

说明

检测是否文件夹窗口获得了焦点。

参数

返回

  • S_OK:文件夹窗口是当前焦点窗口
  • S_FALSE:文件夹窗口不是当前焦点窗口

IsNodesWindowFocused()

说明

检测是否节点列表窗口处于焦点。

参数

返回

  • S_OK:节点列表窗口是当前焦点窗口
  • S_FALSE:节点列表窗口不是当前焦点窗口
  • NewArticle(ICANode* pParentNode, BSTR bstrTitle)

    说明

    建立新文章

    参数

    • pParentNode:[in]。新建文章所在的的文件夹。
    • bstrTitle:[in]。新建文章的标题。

    返回

    S_OK或者E_INVALIDARG。

    NewArticleUsingTemplate(ICANode* pParentNode, BSTR bstrTitle, BSTR bstrTemplateFileName)

    说明

    使用模板新建文章。

    参数

    • pParentNode:[in]。新建文章所在的的文件夹。
    • bstrTitle:[in]。新建文章的标题。
    • bstrTemplateFileName:[in]。模板文件名。

    返回

    S_OK或者E_INVALIDARG。

    EditArticle(ICANode* pArticle)

    说明

    编辑文章。

    参数

    • pArticle:[in]。需要编辑的文章。

    返回

    S_OK或者E_INVALIDARG。

    get_BookCount(long* pnCount)

    说明

    返回文件夹窗口中打开的书籍数量。

    参数

    • pnCount:[out]。返回书籍数量。

    返回

    S_OK或者E_INVALIDARG。

    get_Book(long nBookIndex, ICABook** ppBook)

    说明

    获得在文件夹窗口中,指定的书籍。

    参数

    • nBookIndex:[in]。书籍索引。
    • ppBook:[out]。返回指定的书籍

    返回

    S_OK或者E_INVALIDARG。

    AddBook(BSTR bstrBookGUID)

    说明

    向书籍列表中添加书籍。

    参数

    • bstrBookGUID:[in]。书籍GUID。

    返回

    S_OK。

    CloseBook(BSTR bstrBookGUID)

    说明

    从书籍列表中关闭指定的书籍。

    参数

    • bstrBookGUID:[in]。书籍GUID。

    返回

    S_OK。

    ViewArticle(BSTR bstrBookGUID, long nArticleNodeID)

    说明

    在CyberArticle里面打开指定的文章。

    参数

    • bstrBookGUID:[in]。书籍GUID。
    • nArticleNodeID:[in]。文章ID

    返回

    S_OK。