The Microsoft Foundation Classes (MFC) can improve programmer productivity when using the Windows API heavily. There are two known issues with the interaction between 3ds Max and MFC.
If you want to have customizable keyboard shortcuts for your plug-in you would normally call the functions Interface::ActivateShortCutTable()
and Interface::DectivateShortCutTable
, but they will crash when using MFC.
One workaround is to create another DLL, using only the Win32 API, which links with the DLL that is using MFC. Next register, activate and deactivate the keyboard shortcuts by calling functions in this Win32 DLL.
The CWnd::PreTranslateMessage()
function from MFC is not called in a 3D Studio Max modeless dialog box as expected. It is only called when there is a modal dialog box attached to a 3D Studio Max dialog. This function can be used to show tool tips on a MFC control in a dialog box.