各位同行:
           我现在做一个实时图形,要创建一个自定义(MM_ANISOTROPIC)模式的坐标系我做了一个测试的例子,实现在picture control 控件的中间从左边界到右边界画一条直线,
代码如下:
                  CWnd   *pWnd= GetDlgItem(IDC_DRAW_PIC);
pWnd->Invalidate();
pWnd->UpdateWindow();

CDC* pDC=GetDlgItem(IDC_DRAW_PIC)->GetDC(); pDC->SetMapMode(MM_ANISOTROPIC);
CRect rect;
GetDlgItem(IDC_DRAW_PIC)->GetClientRect(&rect); pDC->SetWindowExt(100,1000);
pDC->SetViewportExt(rect.right,-rect.bottom);
pDC->SetViewportOrg(rect.left,(rect.top+rect.bottom)/2 );
pDC->SetWindowOrg(0,0); CPen pen;
pen.CreatePen(PS_SOLID,2,RGB(255,10,10));
pDC->SelectObject(&pen);
pDC->MoveTo(0,0);
pDC->LineTo(100,0); ReleaseDC(pDC);但是问题是画的线怎么超出了控件的范围,百思不解,请各位高手指点,谢谢!

解决方案 »

  1.   

    pDC->SetViewportExt(rect.right,-rect.bottom);
    为什么是-rect.bottom
      

  2.   

    问题已经解决,谢谢各位!现在我要实现一个动态的坐标系:X轴为时间轴,Y轴为值,怎样实现一个实时的坐标系
    比如说我的窗口大小知看到0~100秒之间的值,过了一百秒之后我想让他重新绘制当前的时间曲线,并且保存0~100秒之间的曲线,怎样实现呢?附属问题:1:怎样把所画的图像保存成BMP格式的文件
         2:怎样自动把保存到数据库的数据自动保存成Excel格式的文件 求解,谢谢各位!
      

  3.   

    问题1 到bobob的blog上找:
    http://blog.csdn.net/bobob
    问题2 搜一下CSpreadSheet吧。