我的MFC对话框上有CEdit控件:

class ODBC_Dialog : public CDialog
{
CEdit sql_edit_;
};


但是稍后ctor中的sql_edit_变量的hWnd = 0x00000000;

我怀疑它应该具有其他值,并且因为它基本上具有nullptr值,所以我无法使用它,并且在尝试使用它时遇到运行时错误。我是否应该以某种方式初始化此变量?

最佳答案

检查是否在:: DoDataExchange中提到了控制变量。检查资源标识符是否与控件的标识符匹配。如果

::DoDataExchange()


不会调用MFC框架生命周期,例如,通过不调用重写的:: On ... Dialog ...成员函数的基础来破坏它:

https://social.msdn.microsoft.com/Forums/en-US/872b8e39-db53-4635-87a8-42b2235a43d9/dodataexchange-not-called?forum=vclanguage

关于c++ - CEdit edit_box的null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35062564/

10-13 00:06