point.x=i/pow(2,  n);  
               point.y=j/pow(2,  n); 
这两个结果基本是0(整数除法)。如果这段代码放在OnPaint()中,请用CPaintDC而不是CClientDC。
如果这段代码放在OnDraw()中,请用传入的pDC而不是CClientDC dc。
如果这段代码没有放在OnPaint()或者OnDraw()中,请放到OnPaint()或者OnDraw()中。

解决方案 »

  1.   

    void CMyView::OnDraw(CDC* pDC)
    {
      CMyDoc* pDoc = GetDocument();
      ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here    CRect  rc;
        GetClientRect (&rc);
        int n;
        int L,H;
        int i,j,k;
        L=rc.right-rc.left;
        H=rc.bottom-rc.top;
        point.x=L/2;
        point.y=H/2;
        for (n=0;n<=5;n++)
       {
          for (i=1;i<pow(2, n);i++)
    for (j=1;j<pow(2, n);j++)
      {
       point.x=i/pow(2, n);
       point.y=j/pow(2, n);
       if(point.x/2==0||point.y/2==0)
       continue;
       k=2*pow(2, n);
    //pDC->LineTo
       pDC->MoveTo(point.x-1/k*L,point.y-1/k*H);
       pDC->LineTo(point.x-1/k*L,point.y+1/k*H);
       pDC->MoveTo(point.x-1/k*L,point.y);
       pDC->LineTo(point.x+1/k*L,point.y);
       pDC->MoveTo(point.x+1/k*L,point.y+1/k*H);
       pDC->LineTo(point.x+1/k*L,point.y-1/k*H);
      }
        }
    }
    修改后的程序,还是没有结果,不知道为什么了.
      

  2.   

    首先把i,j改为double
    point.x=i/pow(2, n);
    point.y=j/pow(2, n);
    不要用CPoint这个类,自己写一个结构体,因为这个类的成员都是int
    typedef struct MyPoint
    {
    double x,y;
    };