void cgraph::drawline(double x1, double y1, double x2, double y2,colorref cr)
{
crect rc;
getclientrect(&rc);
cdc *pdc=getdc();
pdc->setmapmode(mm_anisotropic);
pdc->setwindowext(640, 480);
pdc->setviewportext(rc.right, rc.bottom);
int tmpx1,tmpy1,tmpx2,tmpy2;
tmpx1 = (int) (( x1-m_dorgx) * maxx/m_dmaxx + orgx );
tmpy1 = (int) ( orgy-(y1-m_dorgy) * maxy/m_dmaxy );
tmpx2 = (int) (( x2-m_dorgx) * maxx/m_dmaxx + orgx );
tmpy2 = (int) ( orgy-(y2-m_dorgy) * maxy/m_dmaxy );
cpen pn(ps_solid, 3, cr);
cpen *poldpn;
poldpn = pdc->selectobject(&pn);
pdc->moveto(tmpx1,tmpy1);
pdc->lineto(tmpx2,tmpy2);
pdc->selectobject(poldpn);
}