3dsmax uses what it calls accelerators. These are application wide low level keyboard overrides, used for general hotkey support. As a result, any custom control must disable these overrides whenever it receives focus.
You should call DisableAccelerators()
defined in custcont.h
, whenever your custom control gets focus (on WM_GOTFOCUS
message).
this is why the ICustEdit
does work, it calls this internally.