CNetAddressCtrl Class
The CNetAddressCtrl
class represents the network address control, which you can use to input and validate the format of IPv4, IPv6, and named DNS addresses.
Syntax
class CNetAddressCtrl : public CEdit
Members
Public Constructors
Name | Description |
---|---|
CNetAddressCtrl::CNetAddressCtrl | Constructs a CNetAddressCtrl object. |
Public Methods
Name | Description |
---|---|
CNetAddressCtrl::Create | Creates a network address control with specified styles and attaches it to the current CNetAddressCtrl object. |
CNetAddressCtrl::CreateEx | Creates a network address control with specified extended styles and attaches it to the current CNetAddressCtrl object. |
CNetAddressCtrl::DisplayErrorTip | Displays an error balloon tip when the user enters an unsupported network address in the current network address control. |
CNetAddressCtrl::GetAddress | Retrieves a validated and parsed representation of the network address associated with the current network address control. |
CNetAddressCtrl::GetAllowType | Retrieves the type of network address that the current network address control can support. |
CNetAddressCtrl::SetAllowType | Sets the type of network address that the current network address control can support. |
Remarks
The network address control verifies that the format of the address the user enters is correct. The control does not actually connect to the network address. The CNetAddressCtrl::SetAllowType method specifies one or more types of address that the CNetAddressCtrl::GetAddress method can parse and verify. An address can be in the form of an IPv4, IPv6, or named address for a server, network, host, or broadcast message destination. If the format of the address is incorrect, you can use the CNetAddressCtrl::DisplayErrorTip method to display an infotip message box that graphically points to the text box of the network address control and displays a predefined error message.
The CNetAddressCtrl
class is derived from the CEdit class. Consequently, the network address control provides access to all Windows edit control messages.
The following figure depicts a dialog that contains a network address control. The text box (1) for the network address control contains an invalid network address. The infotip message (2) is displayed if the network address is invalid.
Examples
The following code example is a portion of a dialog that validates a network address. The event handlers for three radio buttons specify that the network address can be one of three address types. The user enters an address in the text box of the network control, then presses a button to validate the address. If the address is valid, a success message is displayed; otherwise, the predefined infotip error message is displayed.
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"));
}
The following code example from the dialog header file defines the NC_ADDRESS and NET_ADDRESS_INFO variables that are required by the CNetAddressCtrl::GetAddress method.
NC_ADDRESS m_na;
NET_ADDRESS_INFO m_nai;
Inheritance Hierarchy
CNetAddressCtrl
Requirements
Header: afxcmn.h
This class is supported in Windows Vista and later.
Additional requirements for this class are described in Build Requirements for Windows Vista Common Controls.
CNetAddressCtrl::CNetAddressCtrl
Constructs a CNetAddressCtrl
object.
CNetAddressCtrl();
Remarks
Use the CNetAddressCtrl::Create or CNetAddressCtrl::CreateEx method to create a network control and attach it to the CNetAddressCtrl
object.
CNetAddressCtrl::Create
Creates a network address control with specified styles and attaches it to the current CNetAddressCtrl
object.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameters
dwStyle
[in] A bitwise combination of styles to be applied to the control. For more information, see Edit Styles.
rect
[in] A reference to a RECT structure that contains the position and size of the control.
pParentWnd
[in] A non-null pointer to a CWnd object that is the parent window of the control.
nID
[in] The ID of the control.
Return Value
TRUE if this method is successful; otherwise, FALSE.
CNetAddressCtrl::CreateEx
Creates a network address control with specified extended styles and attaches it to the current CNetAddressCtrl
object.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameters
dwExStyle
[in] A bitwise combination (OR) of extended styles to be applied to the control. For more information, see the dwExStyle parameter of the CreateWindowEx function.
dwStyle
[in] A bitwise combination (OR) of styles to be applied to the control. For more information, see Edit Styles.
rect
[in] A reference to a RECT structure that contains the position and size of the control.
pParentWnd
[in] A non-null pointer to a CWnd object that is the parent window of the control.
nID
[in] The ID of the control.
Return Value
TRUE if this method is successful; otherwise, FALSE.
CNetAddressCtrl::DisplayErrorTip
Displays an error message in the balloon tip that is associated with the current network address control.
HRESULT DisplayErrorTip();
Return Value
The value S_OK
if this method is successful; otherwise, an error code.
Remarks
Use the CNetAddressCtrl::SetAllowType method to specify the types of addresses that the current network address control can support. Use the CNetAddressCtrl::GetAddress method to validate and parse the network address that the user enters. Use the CNetAddressCtrl::DisplayErrorTip method to display an error message infotip if the CNetAddressCtrl::GetAddress method is unsuccessful.
This message invokes the NetAddr_DisplayErrorTip macro, which is described in the Windows SDK. That macro sends the NCM_DISPLAYERRORTIP
message.
CNetAddressCtrl::GetAddress
Retrieves a validated and parsed representation of the network address that is associated with the current network address control.
HRESULT GetAddress(PNC_ADDRESS pAddress) const;
Parameters
pAddress
[in, out] Pointer to an NC_ADDRESS structure. Set the pAddrInfo member of this structure to the address of a NET_ADDRESS_INFO structure before you call the GetAddress method.
Return Value
The value S_OK if this method is successful; otherwise, a COM error code. For more information about the possible error codes, see the Return Value section of the NetAddr_GetAddress macro.
Remarks
If this method is successful, the NET_ADDRESS_INFO structure contains additional information about the network address.
Use the CNetAddressCtrl::SetAllowType method to specify the types of addresses the current network address control can support. Use the CNetAddressCtrl::GetAddress method to validate and parse the network address that the user enters. Use the CNetAddressCtrl::DisplayErrorTip method to display an error message infotip if the CNetAddressCtrl::GetAddress method is unsuccessful.
This method invokes the NetAddr_GetAddress macro, which is described in the Windows SDK. That macro sends the NCM_GETADDRESS message.
CNetAddressCtrl::GetAllowType
Retrieves the type of network address that the current network address control can support.
DWORD GetAllowType() const;
Return Value
A bitwise combination (OR) of flags that specifies the types of addresses the network address control can support. For more information, see NET_STRING.
Remarks
This message invokes the NetAddr_GetAllowType macro, which is described in the Windows SDK. That macro sends the NCM_GETALLOWTYPE message.
CNetAddressCtrl::SetAllowType
Sets the type of network address that the current network address control can support.
HRESULT SetAllowType(DWORD dwAddrMask);
Parameters
dwAddrMask
[in] A bitwise combination (OR) of flags that specifies the types of addresses the network address control can support. For more information, see NET_STRING.
Return Value
S_OK if this method is successful; otherwise, a COM error code.
Remarks
Use the CNetAddressCtrl::SetAllowType method to specify the types of addresses that the current network address control can support. Use the CNetAddressCtrl::GetAddress method to validate and parse the network address that the user enters. Use the CNetAddressCtrl::DisplayErrorTip method to display an error message infotip if the CNetAddressCtrl::GetAddress method is unsuccessful.
This message invokes the NetAddr_SetAllowType macro, which is described in the Windows SDK. That macro sends the NCM_SETALLOWTYPE message.