Description: This class is provide to allow windows or dialogs that have a module state which is is not equal to RhinoApp().RhinoModuleState() to get PreTranslateMessage() notification. If you derive your class from CRhinoUiDialog you will not need to use this class, if you use a dialog from an extension DLL or whish to derive from CWnd and create a top level window you should add an instance of this class to your derived class class CMyWnd : public CWnd { ... CRhinoUiRegisterPreTranslateMessage m_rptm; ... }; Class constructor: CMyWnd : m_rptm( ::AfxGetStaticModuleState()) { ... } This will allow your window to receive PreTranslateMessage() calls. Another option is to add the member to your CRhino....PlugIn derived class and initialize in the same manner