资源描述:
《MFC中IPADDRESS控件的使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、voidCMyDlg::OnIPAddress(){//此段代码:独立的获取本机IP地址和计算机名WORDwVersionRequested;WSADATAwsaData;charname[255];CStringip;PHOSTENThostinfo;wVersionRequested=MAKEWORD(2,0);if(WSAStartup(wVersionRequested,&wsaData)==0){if(gethostname(name,sizeof(name))==0){if((hostinf
2、o=gethostbyname(name))!=NULL){ip=inet_ntoa(*(structin_addr*)*hostinfo->h_addr_list);}}WSACleanup();}//AfxMessageBox(name);//name里是本机名//AfxMessageBox(ip);//ip中是本机IPm_IPAddress=ip;//m_IPAddress是IP控件对应的变量,ip是Edit控件对应的变量//m_IP.SetAddress(255,86,255,68);//直接设
3、置控件里显示的值//本段代码:已知IPAddress控件里显示的值,转换为CString格式/*//下面代码实现:把IPAddress控件里的值转化为CString格式unsignedchar*pIP;CStringstrIP;DWORDdwIP;m_IP.GetAddress(dwIP);//m_IP为IPAddress控件对应的变量pIP=(unsignedchar*)&dwIP;strIP.Format("%u.%u.%u.%u",*(pIP+3),*(pIP+2),*(pIP+1),*pIP);
4、MessageBox(strIP);*//*//下面代码实现:把IPAddress控件里的值转化为CString格式BYTEf0,f1,f2,f3;m_IP.GetAddress(f0,f1,f2,f3);CStringm_addr;m_addr.Format("%d%s%d%s%d%s%d",f0,".",f1,".",f2,".",f3);MessageBox(m_addr);*//*//下面代码实现:把IPAddress控件里的值转化为CString格式BYTEIPByte[4];m_IP.Get
5、Address(IPByte[0],IPByte[1],IPByte[2],IPByte[3]);CStringstrIP="";chartemp1[10],temp2[10],temp3[10],temp4[10];itoa(IPByte[0],temp1,10);itoa(IPByte[1],temp2,10);itoa(IPByte[2],temp3,10);itoa(IPByte[3],temp4,10);strIP+=temp1;strIP+=".";strIP+=temp2;strIP+="
6、.";strIP+=temp3;strIP+=".";strIP+=temp4;MessageBox(strIP);*//*//下面代码实现:把IPAddress控件里的值转化为CString格式CStringstrx;m_IP.GetWindowText(strx);MessageBox(strx);*///此段代码:用获取的IP地址值,显示到对话框里IPAddress控件中/*CStringstrIP;GetDlgItemText(IDC_EDIT_IPAddress,strIP);m_IP.Set
7、WindowText(strIP);*/m_IP.SetWindowText(ip);//把IP地址(CString类型)直接显示到IPAddress控件中UpdateData(FALSE);}MFC中怎样用IPAddressControl?CIPAddressCtrlm_IP;CStringtemp;在IPAddressControl对应的函数中获取IP地址:m_IP.UpdateData();m_IP.GetWindowTextW(temp);获得的IP地址存入temp。二、VC下怎样使用IPAdd
8、ressControl控件问题:怎样从IPAddress控件获得IP地址,并交给程序(如socket中的connect函数)处理。方法一://m_Ip为IPAddress控件的变量名m_Ip.GetAddress(IPByte[0],IPByte[1],IPByte[2],IPByte[3]);获得IPAddress控件中的4部分数字//------------------把IP地址转化为字符CStringstrI;="";chartemp