先说明一下,我是第一次到这个论坛来的,所以如何加分什么的现在都不是很懂,今天先发一下问题,路过的各位朋友帮忙看看,也顺便指教我一下关于这个论坛的规矩。
    愿向高手们学习,与菜鸟们一起进步!谢谢!
    我在一个绘图程序中添加了三个鼠标驱动函数,刚添加完时可以编译通过。但往函数中添加如下代码后就不行了,VC++6.0提示:local function definitions are illegal……
我列出其中的一段代码,大家帮我看看问题在哪!先谢谢了。
void CS6_1View::OnMouseMove(UINT nFlags, CPoint point) 
{
// TODO: Add your message handler code here and/or call default if(m_bDrawing)
{
CDC* pDC=GetDC();
CBitmap* pOldBitmap=m_pMemDC->SelectObject(m_pBitmap); CPen pen;
pen.CreatePen(PS_SOLID,m_nLineWidth,m_cLineColor);
CPen* pOldPen=pDC->SelectObject(&pen); CBrush* pOldBrush=(CBrush*)pDC->SelectStockObject(NULL_BRUSH);
CRect rectOld(m_ptStart,m_ptOld);
rectOld.NormalizeRect(); rectOld.InflateRect(m_nLineWidth,m_nLineWidth); pDC->Bitblt(rectOld.left,rectOld.top,
rectOld.Width(),rectOld.Height(),
m_pMemDC,
rectOld.left,rectOld.top,
SRCCOPY); CRect rectNew(m_ptStart,point); switch(m_nDrawType)
{
case 0:
pDC->MoveTo(m_ptStart);
pDC->LineTo(point);
break;
case 1:
pDC->Rectangle(rectNew);
break;
case 2:
pDC->Ellipse(rectNew);
break;
case 3:
default:
break;
} m_pMemDC->SelectObject(pOldBitmap);
pDC->SelectObject(pOldPen);
pDC->SelectObject(pOldBrush); ReleaseDC(pDC); m_ptOld=point;
}

// CView::OnMouseMove(nFlags, point);
}

解决方案 »

  1.   

    事实上我总共定义了三个鼠标消息处理函数,分别是左键按下、鼠标移动以及左键松开。
    都是通过建立类向导添加进去的。在刚添加完、这些函数中只有
    CView::OnMouseMove(nFlags, point);
    这样一行代码时,可以编译通过。
    之后把以上的代码添加进去后就出错了。提示是:
    local function definitions are illegal
    我英语不太好,猜测可能是局部函数定义非法。。但我想不出来是哪个地方非法以上的代码是鼠标移动消息处理函数中的内容。我想这个应该和其他的函数没有关系,所有就只贴了这一个函数的内容上来。求救!
      

  2.   

    这是在最后编译时的信息:--------------------Configuration: S6_1 - Win32 Debug--------------------
    Compiling...
    S6_1View.cpp
    C:\Program Files\Microsoft Visual Studio\MyProjects\S6_1\S6_1View.cpp(291) : error C2601: 'OnMouseMove' : local function definitions are illegal
    C:\Program Files\Microsoft Visual Studio\MyProjects\S6_1\S6_1View.cpp(354) : error C2601: 'OnLButtonUp' : local function definitions are illegal
    C:\Program Files\Microsoft Visual Studio\MyProjects\S6_1\S6_1View.cpp(399) : error C2601: 'OnSetCursor' : local function definitions are illegal
    C:\Program Files\Microsoft Visual Studio\MyProjects\S6_1\S6_1View.cpp(421) : fatal error C1004: unexpected end of file found
    Error executing cl.exe.S6_1.exe - 4 error(s), 0 warning(s)