在VC++中,如果想要输入IP地址可使用IP地址控件,该控件是一个与编辑控件类似的控件,可用于输入IP地址。 在对话框中放入此控件后,可以为控件定义一个 CIPAddressCtrl类 的变量对它进行控制。 CIPAddressCtrl类 的主要成员函数有: void ClearAddress(); 清除 IP地址控件中的内容。 BOOL IsBlank(); 如果IP地址控件的所有域均为空,返回非 0值;否则返回 0。 void SetAddress(BYTE nField0,BYTE nField1,BYTE nField2,BYTE nField3); void SetAddress(DWORD dwAddress); 设置 IP地址控件中的地址值。 第一种形式是用4个0~255的整数分别设置 IP地址各个域的值。 第二种形式是用1个长整数设置 IP地址值。 int GetAddress(BYTE& nField0,BYTE& nField1,BYTE& nField2,BYTE& nField3); int GetAddress(DWORD& dwAddress); 获取 IP地址控件中的地址值。 第一种形式是把 IP地址的4个域填充到用4个引用中。 第二种形式是把 IP地址填充到 1个长整数的引用中。 返回值:IP地址控件中非空域的数量。 void SetFieldFocus(WORD nField); 把焦点设置在指定的域中。nField取值为 0~3,如果大于3,则焦点设置到第一个空域中,若所有域均非空,则 焦点设置在第一个域中。 void SetFieldRange(int nField,BYTE nLower,BYTE nUpper); 设置指定域中数值的取值范围。 nField:域索引,取值 0~3; nLower:域的下限; nUpper:域的上限。 下面的例子摹仿为计算机设置 IP地址的对话框看一下 IP地址控件的用法。 对话框建立后,创建一个CSetIPDialog类来控制该对话框。 为对话框中的各控件添加相应的控制变量。 SetIPDialog.h: //{{AFX_DATA(CSetIPDialog) enum { IDD = IDD_SETIP_DIALOG }; CIPAddressCtrl m_IPAddressCtrl3; CIPAddressCtrl m_IPAddressCtrl2; CIPAddressCtrl m_IPAddressCtrl1; CStatic m_IPStatic3; CStatic m_IPStatic2; CStatic m_IPStatic1; int IP_From; //}}AFX_DATA SetIPDialog.cpp: void CSetIPDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSetIPDialog) DDX_Control(pDX, IDC_IPADDRESS3, m_IPAddressCtrl3); DDX_Control(pDX, IDC_IPADDRESS2, m_IPAddressCtrl2); DDX_Control(pDX, IDC_IPADDRESS1, m_IPAddressCtrl1); DDX_Control(pDX, IDC_IP_STATIC3, m_IPStatic...