Partager via


Classe CNetAddressCtrl

La classe CNetAddressCtrl représente le contrôle d'adresse réseau, que vous pouvez utiliser pour entrer et valider le format des adresses IPv4, IPv6 et DNS nommées.

Syntaxe

class CNetAddressCtrl : public CEdit

Membres

Constructeurs publics

Nom Description
CNetAddressCtrl ::CNetAddressCtrl Construit un objet CNetAddressCtrl.

Méthodes publiques

Nom Description
CNetAddressCtrl ::Create Crée un contrôle d’adresse réseau avec des styles spécifiés et l’attache à l’objet actuel CNetAddressCtrl .
CNetAddressCtrl ::CreateEx Crée un contrôle d’adresse réseau avec des styles étendus spécifiés et l’attache à l’objet actuel CNetAddressCtrl .
CNetAddressCtrl ::D isplayErrorTip Affiche une info-bulle d’erreur lorsque l’utilisateur entre une adresse réseau non prise en charge dans le contrôle d’adresse réseau actuel.
CNetAddressCtrl ::GetAddress Récupère une représentation validée et analysée de l’adresse réseau associée au contrôle d’adresse réseau actuel.
CNetAddressCtrl ::GetAllowType Récupère le type d’adresse réseau que le contrôle d’adresse réseau actuel peut prendre en charge.
CNetAddressCtrl ::SetAllowType Définit le type d’adresse réseau que le contrôle d’adresse réseau actuel peut prendre en charge.

Notes

Le contrôle d’adresse réseau vérifie que le format de l’adresse entrée par l’utilisateur est correct. Le contrôle ne se connecte pas réellement à l’adresse réseau. La méthode CNetAddressCtrl ::SetAllowType spécifie un ou plusieurs types d’adresse que la méthode CNetAddressCtrl ::GetAddress peut analyser et vérifier. Une adresse peut être sous la forme d’une adresse IPv4, IPv6 ou nommée pour un serveur, un réseau, un hôte ou une destination de message de diffusion. Si le format de l’adresse est incorrect, vous pouvez utiliser la méthode CNetAddressCtrl ::D isplayErrorTip pour afficher une zone de message d’info-bulle qui pointe graphiquement vers la zone de texte du contrôle d’adresse réseau et affiche un message d’erreur prédéfini.

La CNetAddressCtrl classe est dérivée de la classe CEdit . Par conséquent, le contrôle d’adresse réseau permet d’accéder à tous les messages de contrôle d’édition Windows.

La figure suivante illustre une boîte de dialogue qui contient un contrôle d’adresse réseau. La zone de texte (1) du contrôle d’adresse réseau contient une adresse réseau non valide. Le message d’info-bulle (2) s’affiche si l’adresse réseau n’est pas valide.

Boîte de dialogue avec un contrôle d’adresse réseau et une info-bulle.

Exemples

L’exemple de code suivant est une partie d’une boîte de dialogue qui valide une adresse réseau. Les gestionnaires d’événements pour trois cases d’option spécifient que l’adresse réseau peut être l’un des trois types d’adresses. L’utilisateur entre une adresse dans la zone de texte du contrôle réseau, puis appuie sur un bouton pour valider l’adresse. Si l’adresse est valide, un message de réussite s’affiche ; sinon, le message d’erreur d’info-bulle prédéfini s’affiche.

void CCNetAddressCtrl_s1Dlg::OnBnClickedRadio1()
{
   m_netAddr.SetAllowType(NET_STRING_IPV4_ADDRESS);
}

void CCNetAddressCtrl_s1Dlg::OnBnClickedRadio2()
{
   m_netAddr.SetAllowType(NET_STRING_IPV6_ADDRESS);
}

void CCNetAddressCtrl_s1Dlg::OnBnClickedRadio3()
{
   m_netAddr.SetAllowType(NET_STRING_NAMED_ADDRESS);
}

void CCNetAddressCtrl_s1Dlg::OnBnClickedButton1()
{
   m_na.pAddrInfo = &m_nai;
   HRESULT rslt = m_netAddr.GetAddress(&m_na);
   if (rslt != S_OK)
      m_netAddr.DisplayErrorTip();
   else
   {
      MessageBox(
          _T("Success!"), _T("Validation Results"));
   }

L’exemple de code suivant à partir du fichier d’en-tête de boîte de dialogue définit les variables NC_ADDRESS et NET_ADDRESS_INFO requises par la méthode CNetAddressCtrl ::GetAddress .

NC_ADDRESS m_na;
NET_ADDRESS_INFO m_nai;

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CEdit

CNetAddressCtrl

Spécifications

En-tête : afxcmn.h

Cette classe est prise en charge dans Windows Vista et versions ultérieures.

Des exigences supplémentaires pour cette classe sont décrites dans Build Requirements for Windows Vista Common Controls.

CNetAddressCtrl ::CNetAddressCtrl

Construit un objet CNetAddressCtrl.

CNetAddressCtrl();

Notes

Utilisez la méthode CNetAddressCtrl ::Create ou CNetAddressCtrl ::CreateEx pour créer un contrôle réseau et l’attacher à l’objet CNetAddressCtrl .

CNetAddressCtrl ::Create

Crée un contrôle d’adresse réseau avec des styles spécifiés et l’attache à l’objet actuel CNetAddressCtrl .

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

Paramètres

dwStyle
[in] Combinaison de styles au niveau du bit à appliquer au contrôle. Pour plus d’informations, consultez Modifier les styles.

rect
[in] Référence à une structure RECT qui contient la position et la taille du contrôle.

pParentWnd
[in] Pointeur non null vers un objet CWnd qui est la fenêtre parente du contrôle.

nID
[in] ID du contrôle.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

CNetAddressCtrl ::CreateEx

Crée un contrôle d’adresse réseau avec des styles étendus spécifiés et l’attache à l’objet actuel CNetAddressCtrl .

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

Paramètres

dwExStyle
[in] Combinaison de bits (OR) de styles étendus à appliquer au contrôle. Pour plus d’informations, consultez le paramètre dwExStyle de la fonction CreateWindowEx .

dwStyle
[in] Combinaison de bits (OR) de styles à appliquer au contrôle. Pour plus d’informations, consultez Modifier les styles.

rect
[in] Référence à une structure RECT qui contient la position et la taille du contrôle.

pParentWnd
[in] Pointeur non null vers un objet CWnd qui est la fenêtre parente du contrôle.

nID
[in] ID du contrôle.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

CNetAddressCtrl ::D isplayErrorTip

Affiche un message d’erreur dans l’info-bulle associé au contrôle d’adresse réseau actuel.

HRESULT DisplayErrorTip();

Valeur de retour

Valeur S_OK si cette méthode réussit ; sinon, un code d’erreur.

Notes

Utilisez la méthode CNetAddressCtrl ::SetAllowType pour spécifier les types d’adresses que le contrôle d’adresse réseau actuel peut prendre en charge. Utilisez la méthode CNetAddressCtrl ::GetAddress pour valider et analyser l’adresse réseau que l’utilisateur entre. Utilisez la méthode CNetAddressCtrl ::D isplayErrorTip pour afficher une info-bulle de message d’erreur si la méthode CNetAddressCtrl ::GetAddress échoue.

Ce message appelle la macro NetAddr_DisplayErrorTip , qui est décrite dans le Kit de développement logiciel (SDK) Windows. Cette macro envoie le NCM_DISPLAYERRORTIP message.

CNetAddressCtrl ::GetAddress

Récupère une représentation validée et analysée de l’adresse réseau associée au contrôle d’adresse réseau actuel.

HRESULT GetAddress(PNC_ADDRESS pAddress) const;

Paramètres

pAddress
[in, out] Pointeur vers une structure NC_ADDRESS . Définissez le membre pAddrInfo de cette structure sur l’adresse d’une structure NET_ADDRESS_INFO avant d’appeler la méthode GetAddress.

Valeur de retour

La valeur S_OK si cette méthode réussit ; sinon, un code d’erreur COM. Pour plus d’informations sur les codes d’erreur possibles, consultez la section Valeur de retour de la macro NetAddr_GetAddress .

Notes

Si cette méthode réussit, la structure NET_ADDRESS_INFO contient des informations supplémentaires sur l’adresse réseau.

Utilisez la méthode CNetAddressCtrl ::SetAllowType pour spécifier les types d’adresses que le contrôle d’adresse réseau actuel peut prendre en charge. Utilisez la méthode CNetAddressCtrl ::GetAddress pour valider et analyser l’adresse réseau que l’utilisateur entre. Utilisez la méthode CNetAddressCtrl ::D isplayErrorTip pour afficher une info-bulle de message d’erreur si la méthode CNetAddressCtrl ::GetAddress échoue.

Cette méthode appelle la macro NetAddr_GetAddress , qui est décrite dans le Kit de développement logiciel (SDK) Windows. Cette macro envoie le message NCM_GETADDRESS.

CNetAddressCtrl ::GetAllowType

Récupère le type d’adresse réseau que le contrôle d’adresse réseau actuel peut prendre en charge.

DWORD GetAllowType() const;

Valeur de retour

Combinaison de bits (OR) d’indicateurs qui spécifie les types d’adresses que le contrôle d’adresse réseau peut prendre en charge. Pour plus d’informations, consultez NET_STRING.

Notes

Ce message appelle la macro NetAddr_GetAllowType , qui est décrite dans le Kit de développement logiciel (SDK) Windows. Cette macro envoie le message NCM_GETALLOWTYPE.

CNetAddressCtrl ::SetAllowType

Définit le type d’adresse réseau que le contrôle d’adresse réseau actuel peut prendre en charge.

HRESULT SetAllowType(DWORD dwAddrMask);

Paramètres

dwAddrMask
[in] Combinaison de bits (OR) d’indicateurs qui spécifie les types d’adresses que le contrôle d’adresse réseau peut prendre en charge. Pour plus d’informations, consultez NET_STRING.

Valeur de retour

S_OK si cette méthode réussit ; sinon, un code d’erreur COM.

Notes

Utilisez la méthode CNetAddressCtrl ::SetAllowType pour spécifier les types d’adresses que le contrôle d’adresse réseau actuel peut prendre en charge. Utilisez la méthode CNetAddressCtrl ::GetAddress pour valider et analyser l’adresse réseau que l’utilisateur entre. Utilisez la méthode CNetAddressCtrl ::D isplayErrorTip pour afficher une info-bulle de message d’erreur si la méthode CNetAddressCtrl ::GetAddress échoue.

Ce message appelle la macro NetAddr_SetAllowType , qui est décrite dans le Kit de développement logiciel (SDK) Windows. Cette macro envoie le message NCM_SETALLOWTYPE.

Voir aussi

CNetAddressCtrl, classe
Graphique hiérarchique
CEdit, classe