' Classes/System/Windows/Forms/Message.ab #ifndef __SYSTEM_WINDOWS_FORMS_MESSAGE_AB__ #define __SYSTEM_WINDOWS_FORMS_MESSAGE_AB__ #require Namespace System Namespace Windows Namespace Forms Class Message Public Const Function HWnd() As HWND Return hwnd End Function Sub HWnd(hw As HWND) hwnd = hw End Sub Const Function Msg() As DWord Return msg End Function Sub Msg(m As DWord) msg = m End Sub Const Function WParam() As WPARAM Return wp End Function Sub WParam(wParam As WPARAM) wp = wParam End Sub Const Function LParam() As LPARAM Return lp End Function Sub LParam(lParam As LPARAM) lp = lParam End Sub Const Function Result() As LRESULT Return lr End Function Sub Result(res As LRESULT) lr = res End Sub /*Const*/ Function Equals(x As Message) As Boolean Return hwnd = x.hwnd And _ msg = x.msg And _ wp = x.wp And _ lp = x.lp And _ lr = x.lr End Function Override Function GetHashCode() As Long Return _System_HashFromPtr(hwnd) Xor (Not msg) Xor _System_HashFromPtr(wp As VoidPtr) Xor _ (Not _System_HashFromPtr(lp As VoidPtr)) Xor _System_HashFromPtr(lr As VoidPtr) End Function Const Function Operator ==(x As Message) As BOOL Return Equals(x) End Function Const Function Operator <>(x As Message) As BOOL Return Not Equals(x) End Function Static Function Create(hwnd As HWND, msg As DWord, wp As WPARAM, lp As LPARAM) As Message Create = New Message With Create .hwnd = hwnd .msg = msg .wp = wp .lp = lp End With End Function Private hwnd As HWND msg As DWord wp As WPARAM lp As LPARAM lr As LRESULT End Class End Namespace 'Forms End Namespace 'Widnows End Namespace 'System #endif '__SYSTEM_WINDOWS_FORMS_MESSAGE_AB__