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
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_Link2
utilisé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.