创建一个非模式对话框 出现问题

创建一个非模式对话框:

      g_pQueryPixelDlg = new CQueryPixelDlg;
    g_pQueryPixelDlg->Create(IDD_QUERYPIXELDLG,clientControl);

    g_pQueryPixelDlg->m_pQueryPixelCtrl = g_pQueryPixelCtrl;

    g_pQueryPixelDlg->ShowWindow(SW_SHOW);

   编译时居然出现:
 error C2664: “BOOL CDialog::Create(LPCTSTR,CWnd *)”: 不能将参数 1 从“int

”转换为“LPCTSTR”
1>        从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转



    我记得CDialog::Create函数有两个:
virtual BOOL Create(LPCTSTR lpszTemplateName, CWnd* pParentWnd = 

NULL);
virtual BOOL Create(UINT nIDTemplate, CWnd* pParentWnd = NULL);

    怎么就不能调用第二个呢?

    我开始以为是使用多字节字符集的缘故,后来改用Unicode 字符集,还是这个错误

。这是怎么回



原来是第二个参数有问题,改成这样就好了:
  g_pQueryPixelDlg->Create(IDD_QUERYPIXELDLG,clientControl->GetScreenWnd());

你可能感兴趣的:(MFC,编程)