PreTranslateMessage在TranslateMessage和DispatchMessage之前对消息的一次处理.一般想截获消息从这里就可以截住.如果这里不做处理,那么消息就会在TranslateMessage后分发给目标窗口去处理...MSG是一个结构,表明了消息的具体信息.
typedef struct tagMSG { // msg
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG;
其中
WPARAM wParam;
LPARAM lParam;
两个成员对于不同的消息码有不同的含义...这有赖于消息的种类.
typedef struct tagMSG { // msg
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG;
其中
WPARAM wParam;
LPARAM lParam;
两个成员对于不同的消息码有不同的含义...这有赖于消息的种类.
如果你截获某个消息后,对它进行一定处理后,还要让它继续传下去,则可以
return CBaseClass::PreTranslateMessage(……); //调用基类的该函数,
否则你可以直接return TRUE; 或 return FALSE;
TRUE和FALSE有什么区别呢?如果用true,则消息会被传到父窗口(如果存在),用false则不会。