Partager via


CLinkCtrl, classe

Fournit les fonctionnalités du contrôle commun SysLink Windows.

Syntaxe

class CLinkCtrl : public CWnd

Membres

Constructeurs publics

Nom Description
CLinkCtrl ::CLinkCtrl Construit un objet CLinkCtrl.

Méthodes publiques

Nom Description
CLinkCtrl ::Create Crée un contrôle de lien et l’attache à un CLinkCtrl objet.
CLinkCtrl ::CreateEx Crée un contrôle de lien avec des styles étendus et l’attache à un CLinkCtrl objet.
CLinkCtrl ::GetIdealHeight Récupère la hauteur idéale du contrôle de liaison.
CLinkCtrl ::GetIdealSize Calcule la hauteur préférée du texte du lien pour le contrôle de lien actuel, en fonction de la largeur spécifiée du lien.
CLinkCtrl ::GetItem Récupère les états et attributs d’un élément de contrôle de lien.
CLinkCtrl ::GetItemID Récupère l’ID d’un élément de contrôle de lien.
CLinkCtrl ::GetItemState Récupère l’état de l’élément de contrôle de lien.
CLinkCtrl ::GetItemUrl Récupère l’URL représentée par l’élément de contrôle de lien.
CLinkCtrl ::HitTest Détermine si l’utilisateur a cliqué sur le lien spécifié.
CLinkCtrl ::SetItem Définit les états et attributs d’un élément de contrôle de lien.
CLinkCtrl ::SetItemID Définit l’ID d’un élément de contrôle de lien.
CLinkCtrl ::SetItemState Définit l’état de l’élément de contrôle de lien.
CLinkCtrl ::SetItemUrl Définit l’URL représentée par l’élément de contrôle de lien.

Notes

Un « contrôle de lien » offre un moyen pratique d’incorporer des liens hypertexte dans une fenêtre. Le contrôle réel est une fenêtre qui affiche le texte marqué et lance les applications appropriées lorsque l’utilisateur clique sur un lien incorporé. Plusieurs liens sont pris en charge dans un seul contrôle et sont accessibles par un index de base zéro.

Ce contrôle (et par conséquent la CLinkCtrl classe) est disponible uniquement pour les programmes exécutés sous Windows XP et versions ultérieures.

Pour plus d’informations, consultez SysLink Control dans le Kit de développement logiciel (SDK) Windows.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CLinkCtrl

Spécifications

En-tête : afxcmn.h

CLinkCtrl ::CLinkCtrl

Construit un objet CLinkCtrl.

CLinkCtrl();

CLinkCtrl ::Create

Crée un contrôle de lien et l’attache à un CLinkCtrl objet.

virtual BOOL Create(
    LPCTSTR lpszLinkMarkup,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

virtual BOOL Create(DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Paramètres

lpszLinkMarkup
Pointeur vers une chaîne sans fin qui contient le texte marqué à afficher. Pour plus d’informations, consultez la section « Balisage et accès aux liens » dans la rubrique Vue d’ensemble des contrôles SysLink.

dwStyle
Spécifie le style du contrôle de lien. Appliquez n’importe quelle combinaison de styles de contrôle. Pour plus d’informationsWindows SDK, consultez Les styles de contrôle courants.

Rect
Spécifie la taille et la position du contrôle de liaison. Il peut s’agir d’un objet CRect ou d’une structure RECT .

pParentWnd
Spécifie la fenêtre parente du contrôle de lien. Elle ne doit pas être NULL.

nID
Spécifie l’ID du contrôle de lien.

Valeur de retour

TRUE si l’initialisation a réussi ; sinon FALSE.

Notes

Vous construisez un CLinkCtrl objet en deux étapes. Tout d’abord, appelez le constructeur, puis appelez Create, ce qui crée le contrôle de liaison et l’attache à l’objet CLinkCtrl . Si vous souhaitez utiliser des styles windows étendus avec votre contrôle, appelez CLinkCtrl ::CreateEx au lieu de Create.

La deuxième forme de la Create méthode est déconseillée. Utilisez le premier formulaire qui spécifie le paramètre lpszLinkMarkup .

Exemple

Le premier exemple de code définit deux variables nommées m_Link1 et m_Link2utilisées pour accéder à deux contrôles de liaison.

afx_msg void OnNMClickSyslink1(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnNMClickSyslink2(NMHDR *pNMHDR, LRESULT *pResult);
// Link variable associated with resource editor CLinkCtrl control.
CLinkCtrl m_Link1;
// Link variable associated with programmatic CLinkCtrl control.
CLinkCtrl m_Link2;

L’exemple de code suivant crée un contrôle de lien en fonction de l’emplacement d’un autre contrôle de lien. Le chargeur de ressources crée le premier contrôle de lien au démarrage de votre application. Lorsque votre application entre la méthode OnInitDialog, vous créez le deuxième contrôle de lien par rapport à la position du premier contrôle de lien. Ensuite, vous redimensionnez le deuxième contrôle de lien pour qu’il corresponde au texte qu’il affiche.

CRect rect1, rect2;
int height = 0;
SIZE sz = {0};
PTCHAR url =
    _T("Link 2)  ")
    _T("<A HREF=\"https://visualstudio.microsoft.com\">")
    _T("Microsoft VC++ Home")
    _T("</A>");
m_Link1.GetWindowRect(&rect1);
m_Link2.Create(url,
               (WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER),
               CRect(
                   rect1.left, rect1.bottom + rect1.Height(),
                   rect1.right, rect1.bottom + (2 * rect1.Height())),
               this,
               IDC_SYSLINK2);
m_Link2.GetClientRect(&rect2);
// The return value of GetIdealSize() is the same as sz.cy
height = m_Link2.GetIdealSize(
    rect2.Width(), &sz);
if ((sz.cx != 0) && (sz.cy != 0))
{
   int rc = m_Link2.SetWindowPos(
       this,
       0, 0, sz.cx, sz.cy,
       (SWP_NOMOVE | SWP_NOZORDER | SWP_NOREPOSITION | SWP_NOACTIVATE));
}

CLinkCtrl ::CreateEx

Crée un contrôle de lien avec des styles étendus et l’attache à un CLinkCtrl objet.

virtual BOOL CreateEx(
    LPCTSTR lpszLinkMarkup,
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

virtual BOOL CreateEx(DWORD  dwExStyle,
    DWORD  dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT  nID);

Paramètres

lpszLinkMarkup
Pointeur vers une chaîne sans fin qui contient le texte marqué à afficher. Pour plus d’informations, consultez la section « Balisage et accès aux liens » dans la rubrique Vue d’ensemble des contrôles SysLink.

dwExStyle
Spécifie le style étendu du contrôle de lien. Pour obtenir la liste des styles Windows étendus, consultez le paramètre dwExStyle pour CreateWindowEx dans le Kit de développement logiciel (SDK) Windows.

dwStyle
Spécifie le style du contrôle de lien. Appliquez n’importe quelle combinaison de styles de contrôle. Pour plus d’informations, consultez Styles de contrôle courants dans le Kit de développement logiciel (SDK) Windows.

Rect
Spécifie la taille et la position du contrôle de liaison. Il peut s’agir d’un objet CRect ou d’une structure RECT .

pParentWnd
Spécifie la fenêtre parente du contrôle de lien. Elle ne doit pas être NULL.

nID
Spécifie l’ID du contrôle de lien.

Valeur de retour

TRUE si l’initialisation a réussi ; sinon FALSE.

Notes

Utilisez CreateEx plutôt que Créer pour appliquer des constantes de style Windows étendues.

La deuxième forme de la CreateEx méthode est déconseillée. Utilisez le premier formulaire qui spécifie le paramètre lpszLinkMarkup .

CLinkCtrl ::GetIdealHeight

Récupère la hauteur idéale du contrôle de liaison.

int GetIdealHeight() const;

Valeur de retour

Hauteur idéale du contrôle, en pixels.

Notes

Cette fonction membre implémente le comportement du message Win32 LM_GETIDEALHEIGHT, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CLinkCtrl ::GetIdealSize

Calcule la hauteur préférée du texte du lien pour le contrôle de lien actuel, en fonction de la largeur spécifiée du lien.

int GetIdealSize(
    int cxMaxWidth,
    SIZE* pSize) const;

Paramètres

cxMaxWidth
[in] Largeur maximale du lien, en pixels.

Psize
[out] Pointeur vers une structure Windows SIZE . Lorsque cette méthode est retournée, le membre cy de la SIZE structure contient la hauteur de texte de lien idéale pour la largeur du texte de lien spécifiée par cxMaxWidth. Le membre cx de la structure contient la largeur du texte du lien qui est réellement nécessaire.

Valeur de retour

Hauteur préférée du texte du lien, en pixels. La valeur de retour est identique à la valeur du membre cy de la SIZE structure.

Notes

Pour obtenir un exemple de méthode GetIdealSize , consultez l’exemple dans CLinkCtrl ::Create.

Cette méthode envoie le message LM_GETIDEALSIZE , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CLinkCtrl ::GetItem

Récupère les états et attributs d’un élément de contrôle de lien.

BOOL GetItem(PLITEM pItem) const;

Paramètres

pItem
Pointeur vers une structure LITEM pour recevoir des informations sur l’élément.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Cette fonction membre implémente le comportement du message Win32 LM_GETITEM, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CLinkCtrl ::GetItemID

Récupère l’ID d’un élément de contrôle de lien.

BOOL GetItemID(
    int iLink,
    CString& strID) const;

BOOL GetItemID(
    int iLink,
    LPWSTR szID,
    UINT cchID) const;

Paramètres

Ilink
Index d’un élément de contrôle de lien.

strID
Objet CStringT contenant l’ID de l’élément spécifié.

szID
Chaîne terminée par null contenant l’ID de l’élément spécifié.

cchID
Taille en caractères de la mémoire tampon szID .

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Remarque

Cette fonction retourne également FALSE si la mémoire tampon de szID ou strID est inférieure à MAX_LINKID_TEXT.

Notes

Récupère l’ID d’un élément de contrôle de lien spécifique. Pour plus d’informations, consultez le message Win32 LM_GETITEM dans le Kit de développement logiciel (SDK) Windows.

CLinkCtrl ::GetItemState

Récupère l’état de l’élément de contrôle de lien.

BOOL GetItemState(
    int iLink,
    UINT* pnState,
    UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED) const;

Paramètres

Ilink
Index d’un élément de contrôle de lien.

pnState
Valeur de l’élément d’état spécifié.

stateMask
Combinaison d’indicateurs décrivant l’élément d’état à obtenir. Pour obtenir la liste des valeurs, consultez la description du state membre dans la structure LITEM . Les éléments autorisés sont identiques à ceux autorisés dans state.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Récupère la valeur de l’élément d’état spécifié d’un élément de contrôle de lien spécifique. Pour plus d’informations, consultez le message Win32 LM_GETITEM dans le Kit de développement logiciel (SDK) Windows.

CLinkCtrl ::GetItemUrl

Récupère l’URL représentée par l’élément de contrôle de lien.

BOOL GetItemUrl(
    int iLink,
    CString& strUrl) const;

BOOL GetItemUrl(
    int iLink,
    LPWSTR szUrl,
    UINT cchUrl) const;

Paramètres

Ilink
Index d’un élément de contrôle de lien.

strUrl
Objet CStringT contenant l’URL représentée par l’élément spécifié

szUrl
Chaîne terminée par null contenant l’URL représentée par l’élément spécifié

cchUrl
Taille en caractères de la mémoire tampon szURL .

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Remarque

Cette fonction retourne également FALSE si la mémoire tampon de szUrl ou strUrl est inférieure à MAX_LINKID_TEXT.

Notes

Récupère l’URL représentée par l’élément de contrôle de lien spécifié. Pour plus d’informations, consultez le message Win32 LM_GETITEM dans le Kit de développement logiciel (SDK) Windows.

CLinkCtrl ::HitTest

Détermine si l’utilisateur a cliqué sur le lien spécifié.

BOOL HitTest(PLHITTESTINFO phti) const;

Paramètres

phti
Pointeur vers une LHITTESTINFO structure contenant des informations sur le lien sur lequel l’utilisateur a cliqué.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Cette fonction membre implémente le comportement du message Win32 LM_HITTEST, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CLinkCtrl ::SetItem

Définit les états et attributs d’un élément de contrôle de lien.

BOOL SetItem(PLITEM pItem);

Paramètres

pItem
Pointeur vers une structure LITEM contenant les informations à définir.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Cette fonction membre implémente le comportement du message Win32 LM_SETITEM, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CLinkCtrl ::SetItemID

Récupère l’ID d’un élément de contrôle de lien.

BOOL SetItemID(
    int iLink,
    LPCWSTR szID);

Paramètres

Ilink
Index d’un élément de contrôle de lien.

szID
Chaîne terminée par null contenant l’ID de l’élément spécifié.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Définit l’ID d’un élément de contrôle de lien spécifique. Pour plus d’informations, consultez le message Win32 LM_SETITEM dans le Kit de développement logiciel (SDK) Windows.

CLinkCtrl ::SetItemState

Récupère l’état de l’élément de contrôle de lien.

BOOL SetItemState(
    int iLink,
    UINT state,
    UINT stateMask = LIS_FOCUSED | LIS_ENABLED | LIS_VISITED);

Paramètres

Ilink
Index d’un élément de contrôle de lien.

pnState
Valeur de l’élément d’état spécifié en cours de définition.

stateMask
Combinaison d’indicateurs décrivant l’élément d’état défini. Pour obtenir la liste des valeurs, consultez la description du state membre dans la structure LITEM . Les éléments autorisés sont identiques à ceux autorisés dans state.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Définit la valeur de l’élément d’état spécifié d’un élément de contrôle de lien spécifique. Pour plus d’informations, consultez le message Win32 LM_SETITEM dans le Kit de développement logiciel (SDK) Windows.

CLinkCtrl ::SetItemUrl

Définit l’URL représentée par l’élément de contrôle de lien.

BOOL SetItemUrl(
    int iLink,
    LPCWSTR szUrl);

Paramètres

Ilink
Index d’un élément de contrôle de lien.

szUrl
Chaîne terminée par null contenant l’URL représentée par l’élément spécifié

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Définit l’URL représentée par l’élément de contrôle de lien spécifié. Pour plus d’informations, consultez le message Win32 LM_SETITEM dans le Kit de développement logiciel (SDK) Windows.

Voir aussi

Graphique hiérarchique
CWnd, classe