想在对话框中绘制一个坐标系,用来显示波形。看到有人这么用:
CStatic m_canvas;不知道具体怎么实现的??恳请达人请教。

解决方案 »

  1.   

    可能是在在CStatic 上画吧,也可能将CStatic 子类化
      

  2.   


    对啊 就是画几条直线,来构成坐标系。然后再读波形今天给对话框上加个图片controls,添加变量 CStatic m_canvas;dlg.cpp中:
    CRect rc;
    m_canvas.GetClientRect(&rc);
    rc.SetRect(rc.left,rc.top,rc.right,rc.bottom);
    pDC = m_canvas.GetWindowDC();
    CBitmap bmp;
    bmp.CreateCompatibleBitmap(pDC,rc.Width(),rc.Height());

    CDC dcMem;
    dcMem.CreateCompatibleDC(pDC);

    CBitmap *pOldBmp = dcMem.SelectObject(&bmp);
    dcMem.FillSolidRect(&rc, RGB(0, 255, 255));//填充客户矩形区域的颜色为白色
    tmpPoint.PaintOrdinate(pDC, rc);//绘制显示坐标系,自己写的函数问题:只能显示出画布。显示不出线条。
      

  3.   

    问题解决,自个太弱dc悬错了
    tmpPoint.PaintOrdinate(pDC, rc);//绘制显示坐标系,自己写的函数 tmpPoint.PaintOrdinate(&deMem, rc);//绘制显示坐标系,自己写的函数