void CChildView::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect framesize; // 창크기 저장 객체 생성
GetClientRect(&framesize); // 창의 사이즈를 구한다.
int fsvm_h, fsvm_v; // 창의 중심값을 저장할 변수
fsvm_h=(framesize.right/2)/10*10;
fsvm_v=(framesize.bottom/2)/10*10;
CString str;
float radv=0.00; //반지름
int leftup, value_r=1; // 정수화 된 반지름
//중심이 화면에 중심이고, 반지름이 100인 원 시작//
CPen pen1(PS_SOLID, 2, RGB(255, 0, 0));
dc.SelectObject(&pen1);
dc.Ellipse(fsvm_h-100, fsvm_v-100, fsvm_h+100, fsvm_v+100);
//중심이 화면에 중심이고, 반지름이 100인 원 끝//
radv = 1.0/(1+0.5);
leftup=radv*100;
CPen pen4(PS_SOLID, 2, RGB(255, 0, 0));
dc.SelectObject(&pen4);
dc.Ellipse(fsvm_h-leftup*2+100, fsvm_v-leftup, fsvm_h+100, fsvm_v+leftup);
while(value_r<3){
radv = 1.0/(1+value_r);
// str.Format(" = %f, = %d", radv, leftup);
// MessageBox((LPCTSTR)str, NULL, MB_OK);
leftup=radv*100;
CPen pen5(PS_SOLID, 2, RGB(255, 0, 0));
dc.SelectObject(&pen5);
dc.Ellipse(fsvm_h-leftup*2+100, fsvm_v-leftup, fsvm_h+100, fsvm_v+leftup);
value_r++;
}
//////////////////////////////////////////////////////////원 그리는 부분 끝////////////////////
int Vgrid_v=10;
int Vgrid=10;
//////////////////////////////////////////가로줄 그리기//////////////////////////////////////
while(Vgrid_v<framesize.bottom)
{
CPen pen2(PS_SOLID, 1, RGB(192, 192, 192));
dc.SelectObject(&pen2);
dc.MoveTo(0, Vgrid_v);
dc.LineTo(framesize.right, Vgrid_v);
Vgrid_v=Vgrid_v+10;
}
//////////////////////////////////////////세로줄 그리기//////////////////////////////////////
while(Vgrid<framesize.right)
{
CPen pen(PS_SOLID, 1, RGB(192, 192, 192));
dc.SelectObject(&pen);
dc.MoveTo(Vgrid, 0);
dc.LineTo(Vgrid, framesize.bottom);
Vgrid=Vgrid+10;
// str.Format("framesize.right = %d, Vgrid = %d", framesize.right, Vgrid);
// MessageBox((LPCTSTR)str, NULL, MB_OK);
}
//////////////////////////////////////////수직선 그리기//////////////////////////////////////
CPen pen_v(PS_SOLID, 1, RGB(0, 0, 0));
dc.SelectObject(&pen_v);
dc.MoveTo(fsvm_h, 0);
dc.LineTo(fsvm_h, framesize.bottom);
CPen pen_h(PS_SOLID, 1, RGB(0, 0, 0));
dc.SelectObject(&pen_h);
dc.MoveTo(0, fsvm_v);
dc.LineTo(framesize.right, fsvm_v);
}
{
CPaintDC dc(this); // device context for painting
CRect framesize; // 창크기 저장 객체 생성
GetClientRect(&framesize); // 창의 사이즈를 구한다.
int fsvm_h, fsvm_v; // 창의 중심값을 저장할 변수
fsvm_h=(framesize.right/2)/10*10;
fsvm_v=(framesize.bottom/2)/10*10;
CString str;
float radv=0.00; //반지름
int leftup, value_r=1; // 정수화 된 반지름
//중심이 화면에 중심이고, 반지름이 100인 원 시작//
CPen pen1(PS_SOLID, 2, RGB(255, 0, 0));
dc.SelectObject(&pen1);
dc.Ellipse(fsvm_h-100, fsvm_v-100, fsvm_h+100, fsvm_v+100);
//중심이 화면에 중심이고, 반지름이 100인 원 끝//
radv = 1.0/(1+0.5);
leftup=radv*100;
CPen pen4(PS_SOLID, 2, RGB(255, 0, 0));
dc.SelectObject(&pen4);
dc.Ellipse(fsvm_h-leftup*2+100, fsvm_v-leftup, fsvm_h+100, fsvm_v+leftup);
while(value_r<3){
radv = 1.0/(1+value_r);
// str.Format(" = %f, = %d", radv, leftup);
// MessageBox((LPCTSTR)str, NULL, MB_OK);
leftup=radv*100;
CPen pen5(PS_SOLID, 2, RGB(255, 0, 0));
dc.SelectObject(&pen5);
dc.Ellipse(fsvm_h-leftup*2+100, fsvm_v-leftup, fsvm_h+100, fsvm_v+leftup);
value_r++;
}
//////////////////////////////////////////////////////////원 그리는 부분 끝////////////////////
int Vgrid_v=10;
int Vgrid=10;
//////////////////////////////////////////가로줄 그리기//////////////////////////////////////
while(Vgrid_v<framesize.bottom)
{
CPen pen2(PS_SOLID, 1, RGB(192, 192, 192));
dc.SelectObject(&pen2);
dc.MoveTo(0, Vgrid_v);
dc.LineTo(framesize.right, Vgrid_v);
Vgrid_v=Vgrid_v+10;
}
//////////////////////////////////////////세로줄 그리기//////////////////////////////////////
while(Vgrid<framesize.right)
{
CPen pen(PS_SOLID, 1, RGB(192, 192, 192));
dc.SelectObject(&pen);
dc.MoveTo(Vgrid, 0);
dc.LineTo(Vgrid, framesize.bottom);
Vgrid=Vgrid+10;
// str.Format("framesize.right = %d, Vgrid = %d", framesize.right, Vgrid);
// MessageBox((LPCTSTR)str, NULL, MB_OK);
}
//////////////////////////////////////////수직선 그리기//////////////////////////////////////
CPen pen_v(PS_SOLID, 1, RGB(0, 0, 0));
dc.SelectObject(&pen_v);
dc.MoveTo(fsvm_h, 0);
dc.LineTo(fsvm_h, framesize.bottom);
CPen pen_h(PS_SOLID, 1, RGB(0, 0, 0));
dc.SelectObject(&pen_h);
dc.MoveTo(0, fsvm_v);
dc.LineTo(framesize.right, fsvm_v);
}
댓글 달기