这个控件的名字倒是取的不错,一看就知道是让你输入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"));

}


 

IP Address control

 

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