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;
两个成员对于不同的消息码有不同的含义...这有赖于消息的种类.

解决方案 »

  1.   

    作两点补充:
    如果你截获某个消息后,对它进行一定处理后,还要让它继续传下去,则可以
    return CBaseClass::PreTranslateMessage(……);   //调用基类的该函数,
    否则你可以直接return TRUE;  或 return FALSE;
    TRUE和FALSE有什么区别呢?如果用true,则消息会被传到父窗口(如果存在),用false则不会。
      

  2.   

    能不能举个例子呢!如对话框上有一个ComboBox控件,我想在ComboBox中按下回车键后,自己进行处理,应如何做呢