使用CButton 自绘DrawItem在BUTTON区域进行数据曲线绘制
假设数据为int m_Data[1000];
目的是按照从左到右的顺序分别连线出这1000个数据,纵坐标是m_Data的值,横坐标就是下标
问题是100个像素宽度只能绘制前100个点,想把数据在100个像素宽度全部绘制出,应该如何处理呢????求助各位大侠!!!

解决方案 »

  1.   

    建一个memdc,然后创建一个bitmap并选入,在bitmap上画图然后通过StretchBlt进行缩放,并画到显示设备中。
      

  2.   

    http://hi.baidu.com/jiqisiwei/blog/item/81271d44ea8a0785b3b7dca4.html把贴图代码BitBlt改成StretchBlt就可以缩放了
      

  3.   


    CDC MemDC; 
    CBitmap MemBitmap;
    MemDC.CreateCompatibleDC(NULL);  
    MemBitmap.CreateCompatibleBitmap(pDC,1000,1000); 
    CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap); 
    //你自己在MemDC里面画线打点
    ....
    //完毕后
    pDC->StretchBlt(rc.left,rc.top,rc.Width(),rc.Height(),&MemDC
    ,0,0,1000,1000,SRCCOPY);
      

  4.   

    可以通过SetViewportExtEx相关函数改变坐标单位
      

  5.   

    比例换算就行了像你1000对100 就是 0.1比例int newx=x*0.1f;
    int newy=y*0.1f;
    然后用这个新坐标来画就行了