描述:
void CMfcSinCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
//绘制矩形背景
pdc->Rectangle(0,0,420,225);
//pdc->FillRect(rcBounds,BLACKBRUSH);怎样用黑色填充它,这个语句不合适??
//绘制网格,怎样把画笔定义为白色??
pdc->MoveTo(0,20);
pdc->LineTo(400,20);
pdc->MoveTo(0,40);
pdc->LineTo(400,40);
pdc->MoveTo(0,60);
pdc->LineTo(400,60);
pdc->MoveTo(0,80);
pdc->LineTo(400,80);
pdc->MoveTo(0,100);
pdc->LineTo(400,100);
pdc->MoveTo(0,120);
pdc->LineTo(400,120);
pdc->MoveTo(0,140);
pdc->LineTo(400,140);
pdc->MoveTo(0,160);
pdc->LineTo(400,160);
pdc->MoveTo(0,180);
pdc->LineTo(400,180);
pdc->MoveTo(0,200);
pdc->LineTo(400,200);
pdc->MoveTo(80,0);
pdc->LineTo(80,200);
pdc->MoveTo(160,0);
pdc->LineTo(160,200);
pdc->MoveTo(240,0);
pdc->LineTo(240,200);
pdc->MoveTo(320,0);
pdc->LineTo(320,200);
pdc->MoveTo(400,0);
pdc->LineTo(400,200);
//绘制两个小三角形,怎样用白色填充??
POINT polygon1[3]={{0,200},{6,197},{6,203}};
pdc->Polygon(polygon1,3);
POINT polygon2[3]={{400,0},{403,6},{397,6}};
pdc->Polygon(polygon2,3);
pdc->TextOut(4,204,"400");
pdc->TextOut(82,204,"320");
pdc->TextOut(162,204,"240");
pdc->TextOut(242,204,"160");
pdc->TextOut(322,204,"80");
pdc->TextOut(400,204,"0");
//绘制sinx曲线
/*m_ylow和m_yhigh及m_sinColor设置为具有通知特性的属性
怎样为m_sinColor(为曲线的颜色)赋值??
我在自定义的属性页里面sinColor有白色
红色
黄色
绿色
兰色
紫色这几种取值
*/
for(int i=0;i<=400;i+=6)
{
int j,k;
k=int(50*sin(float(i))+90);
j=int((k-m_ylow)*200/(m_yhigh-m_ylow));
if (j>200)
pdc->LineTo(400-i,0);
else if (j<0)
pdc->LineTo(400-i,200);
else
pdc->LineTo(400-i,200-j);
}
}