Clase CNetDirecciónCtrl
La clase CNetAddressCtrl
representa el control de dirección de red, que puede utilizar para especificar y validar el formato de direcciones IPv4, IPv6 y DNS con nombre.
Sintaxis
class CNetAddressCtrl : public CEdit
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CNetAddressCtrl::CNetAddressCtrl | Construye un objeto CNetAddressCtrl . |
Métodos públicos
Nombre | Descripción |
---|---|
CNetAddressCtrl::Create | Crea un control de dirección de red con los estilos especificados y lo adjunta al objeto CNetAddressCtrl actual. |
CNetAddressCtrl::CreateEx | Crea un control de dirección de red con los estilos extendidos especificados y lo adjunta al objeto CNetAddressCtrl actual. |
CNetAddressCtrl::DisplayErrorTip | Muestra un globo de sugerencias de error cuando el usuario escribe una dirección de red no admitida en el control de dirección de red actual. |
CNetAddressCtrl::GetAddress | Recupera una representación validada y analizada de la dirección de red asociada al control de dirección de red actual. |
CNetAddressCtrl::GetAllowType | Recupera el tipo de dirección de red que el control de dirección de red actual puede admitir. |
CNetAddressCtrl::SetAllowType | Establece el tipo de dirección de red que el control de dirección de red actual puede admitir. |
Comentarios
El control de dirección de red comprueba que el formato de la dirección que escribe el usuario es correcto. El control no se conecta realmente a la dirección de red. El método CNetAddressCtrl::SetAllowType especifica uno o varios tipos de dirección que el método CNetAddressCtrl::GetAddress puede analizar y comprobar. Una dirección puede tener el formato de una dirección IPv4, una dirección IPv6 o una dirección con nombre para un servidor, red, host o destino de mensaje de difusión. Si el formato de la dirección es incorrecto, se puede usar el método CNetAddressCtrl::DisplayErrorTip para mostrar un cuadro de mensaje de recuadro informativo que apunta gráficamente al cuadro de texto del control de dirección de red y muestra un mensaje de error predefinido.
La clase CNetAddressCtrl
deriva de la clase CEdit. Por lo tanto, el control de dirección de red proporciona acceso a todos los mensajes de control de edición de Windows.
En la figura siguiente se muestra un cuadro de diálogo que contiene un control de dirección de red. El cuadro de texto (1) del control de dirección de red contiene una dirección de red no válida. Se muestra un mensaje de recuadro informativo (2) si la dirección de red no es válida.
Ejemplos
El ejemplo de código siguiente es una parte de un cuadro de diálogo que valida una dirección de red. Los controladores de eventos para los tres botones de radio especifican que la dirección de red puede ser uno de los tres tipos de direcciones. El usuario escribe una dirección en el cuadro de texto del control de red y, luego, presiona un botón para validar la dirección. Si la dirección es válida, se muestra un mensaje de operación correcta; de lo contrario, se muestra el mensaje de error de recuadro informativo predefinido.
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"));
}
En el ejemplo de código siguiente del archivo de encabezado del cuadro de diálogo se definen las variables NC_ADDRESS y NET_ADDRESS_INFO que necesita el método CNetAddressCtrl::GetAddress.
NC_ADDRESS m_na;
NET_ADDRESS_INFO m_nai;
Jerarquía de herencia
CNetAddressCtrl
Requisitos
Encabezado: afxcmn.h
Esta clase se admite en Windows Vista y versiones posteriores.
Los requisitos adicionales para esta clase se describen en Requisitos de compilación para controles comunes de Windows Vista.
CNetAddressCtrl::CNetAddressCtrl
Construye un objeto CNetAddressCtrl
.
CNetAddressCtrl();
Comentarios
Use el método CNetAddressCtrl::Create o CNetAddressCtrl::CreateEx para crear un control de red y adjuntarlo al objeto CNetAddressCtrl
.
CNetAddressCtrl::Create
Crea un control de dirección de red con los estilos especificados y lo adjunta al objeto CNetAddressCtrl
actual.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwStyle
[in] Combinación bit a bit de los estilos que se aplicarán al control. Para obtener más información, consulte Estilos de edición.
rect
[in] Referencia a una estructura RECT que contiene la posición y el tamaño del control.
pParentWnd
[in] Puntero que no es nulo a un objeto CWnd que es la ventana primaria del control.
Nid
[in] Identificador del control.
Valor devuelto
TRUE si este método se ejecuta correctamente; de lo contrario, FALSE.
CNetAddressCtrl::CreateEx
Crea un control de dirección de red con los estilos extendidos especificados y lo adjunta al objeto CNetAddressCtrl
actual.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwExStyle
[in] Combinación bit a bit (OR) de los estilos extendidos que se aplicarán al control. Para obtener más información, consulte el parámetro dwExStyle de la función CreateWindowEx.
dwStyle
[in] Combinación bit a bit (OR) de los estilos que se aplicarán al control. Para obtener más información, consulte Estilos de edición.
rect
[in] Referencia a una estructura RECT que contiene la posición y el tamaño del control.
pParentWnd
[in] Puntero que no es nulo a un objeto CWnd que es la ventana primaria del control.
Nid
[in] Identificador del control.
Valor devuelto
TRUE si este método se ejecuta correctamente; de lo contrario, FALSE.
CNetAddressCtrl::DisplayErrorTip
Muestra un mensaje de error en el globo de sugerencias, asociado al control de dirección de red actual.
HRESULT DisplayErrorTip();
Valor devuelto
Se devuelve el valor S_OK
si este método es correcto; de lo contrario, un código de error.
Comentarios
Use el método CNetAddressCtrl::SetAllowType para especificar los tipos de direcciones que puede admitir el control de dirección de red actual. Use el método CNetAddressCtrl::GetAddress para validar y analizar la dirección de red que escribe el usuario. Use el método CNetAddressCtrl::DisplayErrorTip para mostrar un recuadro informativo de mensaje de error si el método CNetAddressCtrl::GetAddress no es correcto.
Este mensaje invoca la macro NetAddr_DisplayErrorTip, que se describe en Windows SDK. Esa macro envía el mensaje NCM_DISPLAYERRORTIP
.
CNetAddressCtrl::GetAddress
Recupera una representación validada y analizada de la dirección de red que está asociada al control de dirección de red actual.
HRESULT GetAddress(PNC_ADDRESS pAddress) const;
Parámetros
pAddress
[in, out] Puntero a una estructura NC_ADDRESS. Establezca el miembro pAddrInfo de esta estructura en la dirección de una estructura NET_ADDRESS_INFO antes de llamar al método GetAddress.
Valor devuelto
Se devuelve el valor S_OK si este método es correcto; de lo contrario, un código de error COM. Para obtener más información sobre los posibles códigos de error, consulte la sección Valor devuelto de la macro NetAddr_GetAddress.
Comentarios
Si este método se ejecuta correctamente, la estructura NET_ADDRESS_INFO contiene información adicional sobre la dirección de red.
Use el método CNetAddressCtrl::SetAllowType para especificar los tipos de direcciones que puede admitir el control de dirección de red actual. Use el método CNetAddressCtrl::GetAddress para validar y analizar la dirección de red que escribe el usuario. Use el método CNetAddressCtrl::DisplayErrorTip para mostrar un recuadro informativo de mensaje de error si el método CNetAddressCtrl::GetAddress no es correcto.
Este método invoca la macro NetAddr_GetAddress, que se describe en Windows SDK. Esa macro envía el mensaje NCM_GETADDRESS.
CNetAddressCtrl::GetAllowType
Recupera el tipo de dirección de red que el control de dirección de red actual puede admitir.
DWORD GetAllowType() const;
Valor devuelto
Combinación bit a bit (OR) de marcas que especifica los tipos de direcciones que el control de dirección de red puede admitir. Para obtener más información, consulte NET_STRING.
Comentarios
Este mensaje invoca la macro NetAddr_GetAllowType, que se describe en Windows SDK. Esa macro envía el mensaje NCM_GETALLOWTYPE.
CNetAddressCtrl::SetAllowType
Establece el tipo de dirección de red que el control de dirección de red actual puede admitir.
HRESULT SetAllowType(DWORD dwAddrMask);
Parámetros
dwAddrMask
[in] Combinación bit a bit (OR) de marcas que especifica los tipos de direcciones que el control de dirección de red puede admitir. Para obtener más información, consulte NET_STRING.
Valor devuelto
Se devuelve S_OK si este método es correcto; de lo contrario, un código de error COM.
Comentarios
Use el método CNetAddressCtrl::SetAllowType para especificar los tipos de direcciones que puede admitir el control de dirección de red actual. Use el método CNetAddressCtrl::GetAddress para validar y analizar la dirección de red que escribe el usuario. Use el método CNetAddressCtrl::DisplayErrorTip para mostrar un recuadro informativo de mensaje de error si el método CNetAddressCtrl::GetAddress no es correcto.
Este mensaje invoca la macro NetAddr_SetAllowType, que se describe en Windows SDK. Esa macro envía el mensaje NCM_SETALLOWTYPE.