MFC控件(9):network address control

这个控件的名字倒是取的不错,一看就知道是让你输入IP地址或host name的.

不过一打开看到那控件的样子就完全是个Edit control.不过该控件对应的类也确实是继承自类CEdit.


先拖个控件.然后绑定个变量

CNetAddressCtrl  m_netName;

DDX_Control(pDX, IDC_NETADDRESS, m_netName);


m_netName.SetAllowType(NET_STRING_IPV4_ADDRESS); //只要输入IPV4格式的IP .如果让输入IPv6就是NET_STRING_IPV6_ADDRESS,输入网址就是NET_STRING_NAMED_ADDRESS


不过输入的时候反正不管,只有完了后再验证.并且要自己写点代码验证.假如点OK后验证下输的对不

void CMFCControlDlg::OnOK()
{
NC_ADDRESS m_na;
NET_ADDRESS_INFO m_nai;
m_na.pAddrInfo = &m_nai;
HRESULT rslt = m_netName.GetAddress(&m_na);
if (rslt != S_OK)
m_netName.DisplayErrorTip();
else
      AfxMessageBox(_T("The format is correct"));

}



详细参考MSDN

http://msdn.microsoft.com/de-de/library/vstudio/bb399237(v=vs.100).aspx


IP Address control

IP Address 控件跟network address类似.应该是说功能更弱,只让输入IPv4类似的IP地址,也就是那些数字只让从0到255.不过虽然功能弱但用起可是直观方便的多.不像network address一起来都有点像CEdit控件了.


原文地址:https://www.cnblogs.com/jiangu66/p/3206526.html