求各位大神帮我看看这段代码的问题
void CmfcView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CDC *pDC=GetDC();
char tbuf[80];
sprintf_s(tbuf,_T("Position(%3d,%3d)"),point x,point Y);
// 输出鼠标当前位置
pDC->TextOut(20,20,&tbuf);
CView::OnMouseMove(nFlags, point);
}
问题是
d:\my documents\visual studio 2005\projects\mfc\mfc\mfcview.cpp(309) : error C2146: 语法错误 : 缺少“)”(在标识符“x”的前面)
d:\my documents\visual studio 2005\projects\mfc\mfc\mfcview.cpp(309) : error C2665: “sprintf_s”: 2 个重载中没有一个可以转换所有参数类型
        c:\program files\microsoft visual studio 8\vc\include\stdio.h(309): 可能是“int sprintf_s<80>(char (&)[80],const char *,...)”
        c:\program files\microsoft visual studio 8\vc\include\stdio.h(308): 或“int sprintf_s(char *,size_t,const char *,...)”
        试图匹配参数列表“(char [80], const wchar_t [18], CPoint)”时
d:\my documents\visual studio 2005\projects\mfc\mfc\mfcview.cpp(309) : error C2059: 语法错误 : “)”
d:\my documents\visual studio 2005\projects\mfc\mfc\mfcview.cpp(311) : error C2664: “BOOL CDC::TextOutW(int,int,const CString &)”: 不能将参数 3 从“char (*__w64 )[80]”转换为“const CString &”
        原因如下: 无法从“char (*__w64 )[80]”转换为“const CString”
        无构造函数可以接受源类型,或构造函数重载决策不明确

解决方案 »

  1.   

    //sprintf_s(tbuf,_T("Position(%3d,%3d)"),point x,point Y);
    sprintf_s(tbuf,_T("Position(%3d,%3d)"),point.x,point.y);
      

  2.   

    CString s;
    s.Format(_T("Position(%3d,%3d)"),point.x,point.Y);
    pDC->DrawText(s,20,20,100,100,DT_LEFT|DT_TOP);
      

  3.   

    各位大神,这个问题还是没有解决,总是出现pDC是未声明标识符
      

  4.   


    void CmfcView::OnMouseMove(UINT nFlags, CPoint point) 
    {
    CDC *pDC=GetDC();
    CString strBuf;
    strBuf.Format(_T("Position(%3d,%3d)"),point.x,point.y);
    // 输出鼠标当前位置
    pDC->TextOut(20,20, strBuf);
    CDialog::OnMouseMove(nFlags, point);
    }