建立一個非模式對話方塊 出現問題
阿新 • • 發佈:2019-01-22
建立一個非模式對話方塊:
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 = 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());