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控件了.