1.沿着一个半径为R1的虚拟圆周,使用半径R2画圆
2.有一个菜单项弹出如下的对话框输入R1,R2的大小,对话框有编辑框和微调按钮。
效果图:求大神来个程序实现一下MFC 对话框

解决方案 »

  1.   

    for()
    {
    pDC->Circle();
    }
      

  2.   

    对话框 OnPaint: CPaintDC dc(this); // device context for painting
    CRect rc;
    GetClientRect(&rc);
    CPoint Center;
    CPoint Circle;
    Center.x=rc.Width()/2;
    Center.y=rc.Height()/2;
    int R1=20;
    int R2=60;
    double angle;
    for(angle=0.0;angle < 2*3.1414926;angle+=0.1)
    {
    Circle.x=(int)(Center.x+(R1+R2)*cos(angle));
    Circle.y=(int)(Center.y-(R1+R2)*sin(angle));
    dc.SelectStockObject(NULL_BRUSH);
    dc.Ellipse(Circle.x-R2,Circle.y-R2,Circle.x+R2,Circle.y+R2);
    }
      

  3.   

    上面是 R1 R2 外切。
    下面是 内切:
    dc.Ellipse(Circle.x-(2*R1)-R2,Circle.y-(2*R1)-R2,
    Circle.x+(2*R1)+R2,Circle.y+(2*R1)+R2);