00001 //============================================================================= 00002 // filename: RmUtilProcessMessage.h 00003 // 00004 // ATI Research, Inc. 00005 // 3D Application Research Group 00006 // 00007 // description: This set of functions enable windows to add special message 00008 // processing to windows, such as blocking, forwarding, etc. 00009 // 00010 //============================================================================= 00011 // (C) 2004 ATI Research, Inc. All rights reserved. 00012 //============================================================================= 00013 00014 #ifndef _RM_UTILITIES_PROCESS_MESSAGE_H_ 00015 #define _RM_UTILITIES_PROCESS_MESSAGE_H_ 00016 00017 //============================================================================= 00021 // processing to windows, such as blocking, forwarding, etc. 00022 //============================================================================= 00023 00024 //----------------------------------------------------------------------------- 00028 //----------------------------------------------------------------------------- 00029 RMUTIL_API void RmInitializeProcessMessage(); 00030 00031 //----------------------------------------------------------------------------- 00035 //----------------------------------------------------------------------------- 00036 RMUTIL_API void RmUninitializeProcessMessage(); 00037 00038 //============================================================================= 00044 //============================================================================= 00045 struct RmMessageHandlerStruct 00046 { 00047 HWND hWnd; 00048 UINT nMsg; 00049 LPARAM lParam; 00050 WPARAM wParam; 00051 void* pUserData; 00052 bool bRetProcessed; 00053 00054 00055 00056 00057 }; // end struct RmMessageHandlerStruct 00058 00059 //----------------------------------------------------------------------------- 00064 //----------------------------------------------------------------------------- 00065 typedef LRESULT RmHandleMessageProc( RmMessageHandlerStruct* pRmMessageHandlerStruct ); 00066 00067 //----------------------------------------------------------------------------- 00075 //----------------------------------------------------------------------------- 00076 RMUTIL_API void RmBlockMessage( HWND hSourceWnd, 00077 UINT uSourceMsg ); 00078 00079 //----------------------------------------------------------------------------- 00089 //----------------------------------------------------------------------------- 00090 RMUTIL_API void RmInterceptMessage( HWND hDestinationWnd, 00091 HWND hSourceWnd, 00092 UINT uSourceMsg ); 00093 00094 //----------------------------------------------------------------------------- 00104 //----------------------------------------------------------------------------- 00105 RMUTIL_API void RmForwardMessage( HWND hDestinationWnd, 00106 HWND hSourceWnd, 00107 UINT uSourceMsg ); 00108 00109 //----------------------------------------------------------------------------- 00124 //----------------------------------------------------------------------------- 00125 RMUTIL_API void RmHandleMessage( HWND hDestinationWnd, 00126 UINT uDestinationMsg, 00127 void* pUserData, 00128 HWND hSourceWnd, 00129 UINT uSourceMsg ); 00130 00131 //----------------------------------------------------------------------------- 00143 //----------------------------------------------------------------------------- 00144 RMUTIL_API void RmHandleMessage( RmHandleMessageProc* pRmHandleMessageProc, 00145 void* pUserData, 00146 HWND hSourceWnd, 00147 UINT uSourceMsg ); 00148 00149 //----------------------------------------------------------------------------- 00157 //----------------------------------------------------------------------------- 00158 RMUTIL_API void RmResumeDefaultMessageHandling( HWND hSourceWnd, 00159 UINT uSourceMsg ); 00160 00161 #endif // __RMUTIL_PROCESS_MESSAGE_H__
1.3.6