本文整理汇总了C++中CPaintDC::Ellipse方法的典型用法代码示例。如果您正苦于以下问题:C++ CPaintDC::Ellipse方法的具体用法?C++ CPaintDC::Ellipse怎么用?C++ CPaintDC::Ellipse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPaintDC
的用法示例。
在下文中一共展示了CPaintDC::Ellipse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PaintItems
void CIperfView::PaintItems(CPaintDC &dc, CIperfViewItem *pa)
{
POSITION pos;
INT_PTR count;
INT_PTR idx = 0;
double x0 = 0, x1 = 0, y = 0;
double t0, t1;
double xstep, ystep;
double speed;
int fast = 0;
CRect rect;
count = pa->m_List.GetCount();
GetClientRect(&rect);
xstep = rect.Width() / 60.0;
ystep = rect.Height() / HEIGHT;
CPen pen(PS_SOLID, 1, pa->m_color);
CPen* pOldPen = dc.SelectObject(&pen);
for ( pos = pa->m_List.GetHeadPosition(); pos != NULL; pa->m_List.GetNext( pos ) )
{
t0 = pa->m_List.GetAt( pos ).t0;
t1 = pa->m_List.GetAt( pos ).t1;
if(pa->m_List.GetAt( pos ).speed) {
speed = 10*log10(pa->m_List.GetAt( pos ).speed);
} else {
speed = 0;
}
//
x0 = t0 * xstep;
x1 = t1 * xstep;
y = rect.Height() - speed * ystep;
// point set
CRect rect0( (int)x0-2, (int)y-2, (int)x0+2, (int)y+2);
CRect rect1( (int)x1-2, (int)y-2, (int)x1+2, (int)y+2);
//dc.Ellipse(rect0);
dc.Ellipse(rect1);
if(fast++ == 0)
dc.MoveTo(CPoint((int)x0,(int)y));
dc.LineTo(CPoint((int)x1,(int)y));
}
dc.SelectObject(pOldPen);
}