1. 程式人生 > >建立一個非模式對話方塊 出現問題

建立一個非模式對話方塊 出現問題

建立一個非模式對話方塊:

      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());