ContextLinkDirection, énumération

Spécifie la direction d’un objet IContextLink .

Syntaxe

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

Constantes

ContextLinkDirection_LinksWith

L’IContextNode est un dessin directionnel qui pointe loin du IContextLink.

ContextLinkDirection_LinksFrom

IContextNode est un dessin directionnel qui pointe vers IContextLink.

ContextLinkDirection_LinksTo

Il n’y a aucun dessin directionnel dans le lien. Par exemple, un dessin manuscrit peut souligner un mot manuscrit. Aucune direction n’est déduite du soulignement.

Exemples

L’exemple suivant prend un objet IContextNode , m_pSelectedNodeet enregistre tous les objets IContextNode auxquels il est lié en parcourant l’arborescence ancêtre et en ajoutant les objets dans un CArray objet, linkedToNodes. CheckHResult est une fonction qui prend un HRESULT et une chaîne, et lève une exception créée avec la chaîne si n’est HRESULT pas SUCCESS.

// 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;
}

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP Édition Tablette PC [applications de bureau uniquement]
Serveur minimal pris en charge
Aucun pris en charge
En-tête
IACom.h (nécessite également IACom_i.c)

Voir aussi

IContextLink

IContextNode::AddContextLink