未创建CDialog对象

CDialog object not created

本文关键字:对象 CDialog 创建      更新时间:2023-10-16

我的MFC项目有问题。该项目最近已转换为无窗口项目,这意味着该窗口仍在创建中,但已隐藏。它工作得很好,没有问题。

现在它有一个问题,没有创建由派生CDialog的类创建的对象。

class CCRViewerDlg : public CDialog

问题出现在这里:

CCRViewerDlg dlg; //here hWnd = 0x000000
if( dlg.Create( CCRViewerDlg::IDD )) 
{
    dlg.ShowWindow( SW_HIDE );
    m_pMainWnd = &dlg;
    INT_PTR nResponse = dlg.RunModalLoop();
}

代码没有进入if循环,hWnd保持未处理状态。

上面的代码在BOOL CCRViewerApp::InitInstance() 的第一行

你能帮我找出这个问题的原因吗?

谢谢。

在我的例子中,我在CMydlg中有Custom Control,但没有通过消息映射进行任何初始化/链接。

当我创建dlg时,我得到了这个错误:

myDlg.Create(IDD_DIALOG_MY, this);     // myDlg.m_hwnd = 0x000000
printf("GetLastErr - %dn", GetLastError()); // err : 0

我所做的是:

刚刚从dlg中删除了自定义控件

为了创建dlg第一个