我在我的视类存放了一个 Matrix m_matrix 对象, 然后
  在 Onsize的时候重新计算 Matrix的缩放比例然后通过 SetElement来把缩放比例
  和偏移位置设到当先的m_matrix对象里面, 
  现在发现每次Onsize后总会有一定的误差, 当我把窗口变小的时候图形(矢量的)也
  跟着对应的缩小 , 可是再放大的时候就不能恢复到最初的大小, 不知道有没有人碰到过
  这样的问题。
  因为代码在实验室的服务器上拿不过来, 我描述一下我的做法。
 具体      1。
     class CMyView:public CView
     {
        Matrix  m_matrix;  //矩阵对象
        DPtoLP  (Point& pt, PointF& ptF, int count)  //设备坐标转到逻辑坐标
        {
           m_matrix.Transform(pt, ptF, count);//使用矩阵来控制
        }
    
              }
     2。
      在CMyView::Onsize(UINT Type, int cx, int cy)
       {
         static SizeF  size(cx, cy)
         PointF ptStart(0, cy); //左下脚
         PointF ptSS;
         DPtoLP(ptStart, ptSS, 1);
         
         PointF ptEE
         PointF ptEnd(cx, 0);   //右上角
         DPtoLP(ptEnd,ptEE, 1);
         ptSS.Y += sacle*cy;    //因为Gdiplus的坐标默认是向下为正, 所以调整过来。
         scale = (ptEE.X-ptSS.X)/cx;
         scale = max(scale, (ptEE.Y-ptSS.Y)/cy);
        
         m_matrix.SetElements(scale, 0, 0, -scale, ptSS.X, ptSS.Y);         size.X = cx;
         size.Y = cy;
       }    CMyView::OnDraw(CDC *pDC)
    {
      Graphics g(pDC->m_hDC);
      g->Invert();     
      DrawMyPoly(pen, brush, g);
    }不好意思,这里我只是描述了我的做法 , 不知道为什么,绘制 的时候开始还好图形正好包在
客户窗口内, 可是缩放几次(指的是把窗口拉大拉小)之后, 矩阵的缩放系数就误差越来越大,而图形也越来越小。
麻烦各位知道的能不能给个提示???