This is a 'hack' because it breaks the modularity of MFC. If you want to change the behaviour of more keys but just &lt;Enter&gt; you will end up with a labyrinth of 'if' statements in the overriden 'PreTranslateMessage()' function. This is ugly, hard to read, hard to maintain and error prone. The MFC way of doing it is presented in detail in DiLascias' Article.