CIPAddressCtrl控件类

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)
设置域输入数据的范围。

你可能感兴趣的:(Class,mfc,byte,attributes)