IPAddressCtrl是MFC中IP地址格式的编辑控件
与CEdit控件相比(优点):
1.能让使用者更一目了然的知道这是一个填入ip地址的地方,而不是端口或者巴拉巴拉。
2.IPAddressCtrl控件只支持输入数字,可以防止用户误操作,例如将英文点符号“.”输错成"。"
与CEdit控件相比(缺点):
1.原生IPAddressCtrl控件在初始化时,只支持网段单独复制,即将一个地址分解开,如果你使用的是CString或其他格式存储的ip地址,就需要进行格式转换和文字处理。获取地址也是同理。
CIPAddressCtrl类的函数
IsBlank | 确定是否IP地址控件中的所有域都为空 |
ClearAddress | 清空IP地址控件的内容 |
GetAddress | 获取IP地址控件中所有四个域的地址值 |
SetAddress | 设置IP地址控件中所有四个域的地址值 |
SetFieldFocus | 设置键盘焦点到IP地址控件中的指定的域 |
SetFieldRange | 设置IP地址控件中指定域的范围 |
格式转化示例:
CIPAddressCtrl IPsection;
CString ip = "192.168.2.20";
int ip_arry[4]={}; //接收ip的整形数组
int j;
for (int i = 0; i < 4; i++)
{
if (i != 3)
j= ip.Find('.');//找到分割符号的位置
else
j = 4;
ip_arry[i] = atoi(ip.Left(j));//转化成整形并赋值给数组
ip.Delete(0, j+1);
}
//填入ip地址
IPsection.SetAddress(ip_arry[0], ip_arry[1], ip_arry[2], ip_arry[3]);