我正在为 3ds MAX (2013/2014) 编写插件。在我的插件中,我有一个无模式对话框和一个 Win32编辑控件。当我尝试在编辑控件中编辑文本时显示对话框后,文本没有更新。编辑插入符号位于文本框中。
我尝试了 spy++,它显示所有键盘事件WM_KEYDOWN、WM_CHAR和WM_KEYUP都由编辑控件处理。
实际上,当我在编辑控件中按下一个键时,3ds MAX 的键盘快捷键被激活。
如果我将对话框类型更改为Modal,则编辑控件可以完美运行。3ds MAX ( ICustEdit ) 提供的编辑控件在“无模式”对话框中工作正常。
我的 Edit 控件,是一个自定义的(它支持多行,它会根据行数重新调整其高度),所以我不能直接使用 ICustEdit。
我尝试使用SetWindowPos更改 ICustEdit 的大小和位置,但它不起作用(控件变得不可见:))。
所以总结一下,我有两个问题,
- 为什么我的 Win32 编辑控件不起作用?
- 有没有办法对 ICustEdit 进行子类化并从代码中更改其大小和位置,就像普通的编辑控件一样