c++ - SubclassWindow() 函数断言

标签 c++ visual-c++ mfc

它的c++ 开发者想学习更多关于vc++ 的知识。 :)

一个称为子类化的概念是我拥有的一个里程碑。基本上我浏览了代码项目的以下文章 Create your own controls - the art of subclassing这很有趣,我非常理解。

但是当我使用 visual studio 2010 执行相同的操作时,我会在以下位置得到断言。

CWnd* pWnd = GetDlgItem(IDOK); // or use some other method to get
                                      // a pointer to the window you wish
                                      // to subclass
ASSERT( pWnd && pWnd->GetSafeHwnd() );
m_OkButton.SubclassWindow(pWnd->GetSafeHwnd()); //Assertion point.

请注意上面的代码放在 OnInitDialog() 函数和 enter image description here

最佳答案

我有一些类似的经历。

这段代码似乎导致了错误

VERIFY(m_Edit.SubclassWindow(parent->GetSafeHwnd()));

改成这一行,一切就ok了。

m_Edit.SubclassDlgItem(nId,parent);

关于c++ - SubclassWindow() 函数断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18588174/

相关文章:

c++ - 将自定义变量从 MFCApplication32Doc 移动到 MFCApplication32View

c++ - 将 COM 接口(interface)从 olb 文件导入 VC6

c++ - unique_ptr 中的模板和继承情况下的重载解析

c++ - 如何在 C++ 中的 visual studio 2010 中添加 .a 文件

c++ - ON_REGISTERED_MESSAGE Win32 等效项

visual-c++ - 更改 C++ CLI 标签的文本

c++ - 使用 Visual Studio 2008 编译和运行 MFC 应用程序?

c++ - 一般情况下需要模板参数完整的情况是什么?

c++ - 如何使用命令提示符,记事本和MinGW编译带有主文件,头文件和实现文件的C++程序?

c++ - 如何在不使用 make 文件的情况下运行 C 代理示例程序?