c – 在我的DIalog中使用CEdit中的派生类

我正在使用MFC进行应用程序.我刚刚创建了一个派生自CEdit的类,因此我可以拦截OnChar()并进行数据验证.如何用我创建的派生控件替换我的应用程序中的编辑控件? 最佳答案 不要使用GetDlgItem !!

GetDlgItem()返回一个CWnd指针,没有别的.这意味着你有一个切片的CMyCustomEdit指针.当然,它适用于您的方法向底层HWND发送消息的所有情况.但那只是纯粹的运气!您可以阅读有关问题here的更多信息.

正确的解决方案是使用DDX_Control对您的编辑控件进行子类化.

点赞