我想实现的功能是:在重建的三维场景中,在鼠标点处显示鼠标所指的点的三维坐标信息,可是程序运行时出现错误,一运行到下面这个函数,(即一将鼠标移到显示场景的窗口中)就得终止程序,void COpenGLWnd::OnMouseMove(UINT nFlags, CPoint point) 
{
   // TODO: Add your message handler code here and/or call default
    glGetIntegerv(GL_VIEWPORT, iViewPort); 
    glPushMatrix(); 
    glGetDoublev(GL_MODELVIEW_MATRIX, dModelMatrix); 
    glGetDoublev(GL_PROJECTION_MATRIX, dProjMatrix); 
  //  ::GetCursorPos(&point); 
  //  COpenGLWnd pwnd;
  //  ::ScreenToClient(pwnd, &point);
    glReadPixels(point.x, iViewPort[3]-point.y, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &fdepth); 
    gluUnProject((GLdouble)point.x, (GLdouble)(iViewPort[3]-point.y), (GLdouble)fdepth, dModelMatrix, dProjMatrix, iViewPort, &ObjectX, &ObjectY, &ObjectZ); 
    CString str;
    str.Format("x=%,y=%d,z=%d", &ObjectX, &ObjectY, &ObjectZ);
    CPaintDC dc(this);
    ::SetBkMode( dc, TRANSPARENT );
    ::SetTextColor( dc, RGB(250,0,0) );
    ::TextOut(dc, point.x, point.y, str,str.GetLength());
    glPopMatrix(); 
    CWnd::OnMouseMove(nFlags, point);
}

解决方案 »

  1.   

    你应该在堆栈窗口定位到具体的行。
      

  2.   

    您好
    我是本版版主
    此帖已多日无人关注
    请您及时结帖
    如您认为问题没有解决可按无满意结帖处理
    另外本版设置了疑难问题汇总帖
    并已在版面置顶
    相关规定其帖子中有说明
    您可以根据规定提交您帖子的链接
    如您目前不想结帖只需回帖说明
    我们会删除此结帖通知见此回复三日内无回应
    我们将强制结帖
    相关规定详见界面界面版关于版主结帖工作的具体办法