An even more elegant solution is instead of overloading PreTranslateMessage(), add message map entries for your message by hand.
In between the BEGIN_MESSAGE_MAP() and END_MESSAGE_MAP() macros in the .cpp file, put the following entry:
ON_MESSAGE(MY_MESSAGE, memberFxn)
The prototype for memberFxn is
afx_msg LRESULT memberFxn(WPARAM, LPARAM);