OnPaint()函数中绘制图形随窗口缩放按比例调整位置和大小。该怎么处理

OnPaint()函数中绘制图形随窗口缩放按比例调整位置和大小。
我在OnPaint()函数中绘制了一些曲线,矩形等,我想当拖动对话框边界调整大小时让图形也随着按比例改变位置和大小,怎么实现啊?帮帮忙啊,谢谢了。

------解决方案--------------------
你自己在作图时考虑窗口的大小不就行了.
------解决方案--------------------
在OnSize里定缩放系数。
------解决方案--------------------
CRect rect;
GetClientRect(&rect);
dc.Draw.....//根据rect的大小进行绘图
------解决方案--------------------
CPaintDC dc(this);

CPen Pen;
Pen.CreatePen(PS_INSIDEFRAME,1,RGB(225,225,0));
CBrush Brush;
Brush.CreateSolidBrush(RGB(225,225,0));
CDC dcMem;
CBitmap bm;
CRect rc;
GetClientRect(&rc);
rc.NormalizeRect();
dcMem.CreateCompatibleDC(NULL);
bm.CreateCompatibleBitmap(&dc,rc.right,rc.bottom);
dcMem.SelectObject(&bm);
dcMem.SelectObject(Pen);
dcMem.SelectObject(Brush);
dc.SetMapMode(MM_ISOTROPIC);//可变比例x,y方向具有相同的缩放比例
dc.SetWindowExt(500,-500);
dc.SetViewportExt(rc.right,rc.bottom);
dc.SetViewportOrg(rc.right / 2,rc.bottom / 2);

dcMem.SetMapMode(dc.GetMapMode());
dcMem.SetWindowExt(dc.GetWindowExt());
dcMem.SetViewportExt(dc.GetViewportExt());
dcMem.SetViewportOrg(dc.GetViewportOrg());
dcMem.Ellipse(-100,-100,100,100);

dc.BitBlt(-250,-250,500,500,&dcMem,-250,-250,SRCCOPY);
dcMem.DeleteDC();
bm.DeleteObject();


这种样式```
------解决方案--------------------
你画图时,图形的尺寸与窗体的长宽相关即可.比如:
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.Ellipse(rect.Height()/2-100,rect.Width()/2-100,200,100);

这样,画出的矩形就随窗体大小变化了.
------解决方案--------------------
ouyh12345(五岭散人) 的方法应该最适合我,因为我的对话框中还有其他控件,不能光考虑窗体的大小,要得到它的变化系数才能保证图形大小和界面大小比例不变,可是这个系数怎么在OnSize()中得到呢?能再多给点提示吗?谢谢了。
======================
ONSIZE中可以获得移动后的窗体大小,通过与之前窗体大小可以获得比例,
但是要根据这个比例来调整图形,操作是蛮麻烦的....