WIN32提供了一个IP地址控件,MFC封装成CIPAddressCtrl类管理这个控件。
class CIPAddressCtrl : public CWnd
{
DECLARE_DYNAMIC(CIPAddressCtrl)
public:
// Constructors
CIPAddressCtrl();
virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
virtual BOOL CreateEx(DWORD dwExStyle, DWORD dwStyle, const RECT& rect,CWnd* pParentWnd, UINT nID);
// Attributes
BOOL IsBlank() const;
void ClearAddress();
int GetAddress(BYTE& nField0, BYTE& nField1, BYTE& nField2, BYTE& nField3);
int GetAddress(DWORD& dwAddress);
void SetAddress(DWORD dwAddress);
void SetAddress(BYTE nField0, BYTE nField1, BYTE nField2, BYTE nField3);
void SetFieldFocus(WORD nField);
void SetFieldRange(int nField, BYTE nLower, BYTE nUpper);
// Implementation
public:
virtual ~CIPAddressCtrl();
};
这是从MFC源码中摘出的CIPAddressCtrl类的声明。
1、BOOL IsBlank()
当控件四个输入域都为空的时候,函数返回TRUE;哪怕有一个域不为空,函数返回FALSE。
2、void ClearAddress()
清空控件所有输入域。
3、int GetAddress(BYTE& nField0, BYTE& nField1, BYTE& nField2, BYTE& nField3)
获取控件中四个域输入的值,由于IP地址的数值不大于255,所以使用BYTE类型。
4、void SetAddress(BYTE nField0, BYTE nField1, BYTE nField2, BYTE nField3)
设置控件四个域的值。
5、int GetAddress(DWORD& dwAddress)和void SetAddress(DWORD dwAddress)
这两个函数用一个双字节表示IP地址,24-31位表示0域,16-23位表示1域,8-15位表示2域,0-7位表示3域。
6、void SetFieldFocus(WORD nField)
设置控件获得焦点的域,当参数大于3,焦点设置在第一个空域上,如果不存在空域,那么焦点设置在第一个域上。
7、void SetFieldRange(int nField, BYTE nLower, BYTE nUpper)
设置域输入数据的范围。
CIPAddressCtrl控件类
最新推荐文章于 2022-08-12 17:49:45 发布