<pre id=\"best-answer-content\" class=\"reply-text mb10\">class CIPAddressCtrl : public CWnd
{
DECLARE_DYNAMIC(CIPAddressCtrl)
public:
// Constructors
CIPAddressCtrl();
// Generic creator
virtual BOOL Create(_In_ DWORD dwStyle, _In_ const RECT
// Generic creator allowing extended style bits
virtual BOOL CreateEx(_In_ DWORD dwExStyle, _In_ DWORD dwStyle, _In_ const RECT
// Attributes
// Determines if all fields in the IP address control are blank.
BOOL IsBlank() const;
// Clears the contents of the IP address control.
void ClearAddress();
// Retrieves the address values for all four fields in the IP address control.
int GetAddress(_Out_ BYTE
int GetAddress(_Out_ DWORD
// Sets the address values for all four fields in the IP address control.
void SetAddress(_In_ DWORD dwAddress);
void SetAddress(_In_ BYTE nField0, _In_ BYTE nField1, _In_ BYTE nField2, _In_ BYTE nField3);
// Sets the keyboard focus to the specified field in the IP address control.
void SetFieldFocus(_In_ WORD nField);
// Sets the valid range for the specified field in the IP address control.
void SetFieldRange(_In_ int nField, _In_ BYTE nLower, _In_ BYTE nUpper);
// Implementation
public:
virtual ~CIPAddressCtrl();
};
_AFXCMN_INLINE CIPAddressCtrl::CIPAddressCtrl()
{ }
_AFXCMN_INLINE void CIPAddressCtrl::ClearAddress()
{ ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, IPM_CLEARADDRESS, 0, 0L); }
_AFXCMN_INLINE BOOL CIPAddressCtrl::IsBlank() const
{ ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, IPM_ISBLANK, 0, 0L); }
_AFXCMN_INLINE int CIPAddressCtrl::GetAddress(DWORD return (int) ::SendMessage(m_hWnd, IPM_GETADDRESS, 0, (LPARAM)}
_AFXCMN_INLINE void CIPAddressCtrl::SetAddress(DWORD dwAddress)
{ ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, IPM_SETADDRESS, 0, (LPARAM) dwAddress); }
_AFXCMN_INLINE void CIPAddressCtrl::SetAddress(BYTE nField0, BYTE nField1, BYTE nField2, BYTE nField3)
{ ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, IPM_SETADDRESS, 0, (LPARAM) MAKEIPADDRESS(nField0, nField1, nField2, nField3)); }
_AFXCMN_INLINE void CIPAddressCtrl::SetFieldFocus(WORD nField)
{ ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, IPM_SETFOCUS, (WPARAM) nField, 0); }
_AFXCMN_INLINE void CIPAddressCtrl::SetFieldRange(int nField, BYTE nLower, BYTE nUpper)
{ ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, IPM_SETRANGE, (WPARAM) nField, MAKEIPRANGE(nLower, nUpper)); }
CIPAddressCtrl::~CIPAddressCtrl()
{
DestroyWindow();
}
BOOL CIPAddressCtrl::Create(DWORD dwStyle, const RECT
// the IP Address Control must be a child
ASSERT(dwStyle
CWnd* pWnd = this;
return pWnd-Create(WC_IPADDRESS, NULL, dwStyle, rect, pParentWnd, nID);
}
BOOL CIPAddressCtrl::CreateEx(DWORD dwExStyle, DWORD dwStyle,
const RECT
if (bRet
}
return bRet;
}
int CIPAddressCtrl::GetAddress(BYTE
DWORD dwAddress;
LRESULT nRetVal = ::SendMessage(m_hWnd, IPM_GETADDRESS, 0, (LPARAM)
nField0 = (BYTE) FIRST_IPADDRESS(dwAddress);
nField1 = (BYTE) SECOND_IPADDRESS(dwAddress);
nField2 = (BYTE) THIRD_IPADDRESS(dwAddress);
nField3 = (BYTE) FOURTH_IPADDRESS(dwAddress);
//IA64: only four fields in an IP address, so an int won\'t overflow
return int(nRetVal);
}
|