次の方法で共有


ContextLinkDirection 列挙

IContextLink オブジェクトの方向を指定します。

構文

typedef enum ContextLinkDirection { 
  ContextLinkDirection_LinksWith  = 0,
  ContextLinkDirection_LinksFrom  = 1,
  ContextLinkDirection_LinksTo    = 2
} ContextLinkDirection;

定数

ContextLinkDirection_LinksWith

IContextNode は、IContextLink から離れた方向の描画です。

ContextLinkDirection_LinksFrom

IContextNode は、IContextLink を指す方向描画です。

ContextLinkDirection_LinksTo

リンクに方向描画はありません。 たとえば、インク描画では、インク ワードに下線を引くことができます。 下線から推論される方向はありません。

次の例では、IContextNode オブジェクト を受け取り、m_pSelectedNode先祖ツリーを上に移動し、 オブジェクトを オブジェクト に追加することで、linkedToNodesリンク先のすべての IContextNode オブジェクトをCArray保存します。 CheckHResultは、 と 文字列をHRESULT受け取り、 が SUCCESS でない場合は、文字列で作成された例外をHRESULTスローする関数です。

// Find all first ancestor that contains links of type Enclose
CArray<IContextNode*,IContextNode*> linkedToNodes = CArray<IContextNode*,IContextNode*>();
IContextNode* pAncestor;
CheckHResult(m_pSelectedNode->GetParentNode(&pAncestor),
    "IContextNode::GetParentNode failed");
while (pAncestor != NULL)
{
    // Get the links
    IContextLinks* pLinks;
    CheckHResult(pAncestor->GetContextLinks(&pLinks),
        "IContextNode::GetContextLinks failed");
    ULONG nLinks;
    CheckHResult(pLinks->GetCount(&nLinks), "IContextLinks::GetCount failed");
    for (ULONG i = 0; i < nLinks; i++)
    {
        IContextLink* pLink;
        CheckHResult(pLinks->GetContextLink(i, &pLink),
            "IContextLinks::GetContextLink failed");
        // Check link direction
        ContextLinkDirection linkDirection;
        CheckHResult(pLink->GetContextLinkDirection(&linkDirection),
            "IContextLink:GetContextLinkDirection failed");
        if (linkDirection == ContextLinkDirection_LinksTo)
        {
            // Get source node and add the array
            IContextNode* pSourceNode;
            CheckHResult(pLink->GetSourceNode(&pSourceNode),
                "IContextLink::GetSourceNode failed");
            linkedToNodes.Add(pSourceNode);
        }
    }
            
    // Go up another level
    IContextNode* pNewAncestor;
    CheckHResult(pAncestor->GetParentNode(&pNewAncestor),
        "IContextNode::GetParentNode failed");
    pAncestor = pNewAncestor;
}

要件

要件
サポートされている最小のクライアント
Windows XP タブレット PC エディション [デスクトップ アプリのみ]
サポートされている最小のサーバー
サポートなし
ヘッダー
IACom.h (IACom_i.c も必要)

関連項目

IContextLink

IContextNode::AddContextLink