本文整理汇总了C++中CClientDC::MoveTo方法的典型用法代码示例。如果您正苦于以下问题:C++ CClientDC::MoveTo方法的具体用法?C++ CClientDC::MoveTo怎么用?C++ CClientDC::MoveTo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CClientDC
的用法示例。
在下文中一共展示了CClientDC::MoveTo方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: erase
void CPacket::erase(CClientDC &dc)
{
originalPen = dc.SelectObject(&whitePen);
dc.Rectangle(x1,y1,x2,y2);
dc.MoveTo(x1,y1);
dc.LineTo(x2,y2);
dc.MoveTo(x1,y2);
dc.LineTo(x2,y1);
dc.SelectObject(&originalPen);
}
示例2: draw
void CPacket::draw(CClientDC &dc)
{
if (visible||active){
originalPen = dc.SelectObject(&blackPen);
}else{
originalPen = dc.SelectObject(&whitePen);
}
dc.Rectangle(x1,y1,x2,y2);
dc.MoveTo(x1+1,y1+1);
dc.LineTo(x2-1,y2-1);
dc.MoveTo(x1+1,y2-1);
dc.LineTo(x2-1,y1+1);
dc.SelectObject(&originalPen);
}
示例3: DrwaWaveChar
void CAudioCtrl::DrwaWaveChar(CClientDC &dc, DWORD dwDrawBytes, BYTE *pCharData, BOOL bLeftChannel)
{
CRect rcBK = GetRectByChannel ( bLeftChannel );
int y = (int) ( pCharData[0] * rcBK.Height() / 0xff );
dc.MoveTo ( 0, y );
float fStep = (float)rcBK.Width() / (float)(dwDrawBytes);
float fLineX = 0;
for ( DWORD i=1; i<dwDrawBytes; i++ )
{
fLineX += fStep;
y = (int) ( pCharData[i] * rcBK.Height() / 0xff );
dc.LineTo ( (int)fLineX, y );
//TRACE2("DrawWave X=%f Y=%d\r\n", fLineX, y);
}
}
示例4: DrwaWaveShort
void CAudioCtrl::DrwaWaveShort(CClientDC &dc, DWORD dwDrawBytes, SHORT *pShortData, BOOL bLeftChannel)
{
CRect rcBK = GetRectByChannel ( bLeftChannel );
int nCenterY = rcBK.CenterPoint().y;
int y = nCenterY + (int) ( pShortData[0] * rcBK.Height() / 0xffff );
dc.MoveTo ( 0, y );
float fStep = (float)rcBK.Width() / (float)(dwDrawBytes);
float fLineX = 0;
for ( DWORD i=1; i<dwDrawBytes; i++ )
{
fLineX += fStep;
y = nCenterY + (int) ( pShortData[i] * rcBK.Height() / 0xffff );
dc.LineTo ( (int)fLineX, y );
//TRACE2("DrwaWaveShort X=%f Y=%d\r\n", fLineX, y);
}
}
示例5: CPen
STDMETHODIMP CMyCom1::DrawOffset(unsigned long m_pDC, unsigned long m_pOffset, double m_Scale, unsigned long m_pGraphInfo, BOOL scale_flag, BOOL m_active_flag)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
// TODO: Add your implementation code here
CClientDC * pDC = (CClientDC*) m_pDC;
GraphInfo * pGraphInfo;
//设置
if ( m_pGraphInfo != NULL )
{
pGraphInfo = (GraphInfo*)m_pGraphInfo;
m_GraphInfo.SetGraphInfo(*pGraphInfo);
}
else
pGraphInfo = &m_GraphInfo;
//计算偏移量
if ( m_pOffset != NULL )
{
CPoint * offset = (CPoint *)m_pOffset;
OffsetRgn((unsigned long)offset);
}
//设置激活标志
isActive = m_active_flag;
double scale = 0;
m_scale_flag = scale_flag;
if ( m_scale_flag )
scale = m_Scale;
else
scale = 1;
CFont * sysFont = pDC->SelectObject(&(pGraphInfo->font));
CPen * pen = new CPen( pGraphInfo->normal_penStyle, pGraphInfo->normal_linewidth, pGraphInfo->normal_linecolor ); //构造画笔
CPen * sysPen = pDC->SelectObject(pen);
CBrush * normalBrush = new CBrush( pGraphInfo->normal_regioncolor ); //普通显示的画刷
CBrush * activeBrush = new CBrush( pGraphInfo->active_regioncolor ); //激活后的画刷
CBrush * blackBrush = new CBrush( BLACKBRUSHCOLOR );
CRgn outRgn;
outRgn.CreateRectRgn(0, 0, 5, 5);
CRect smallRect;
//判断是否激活了,如果激活,添加outRect
if ( isActive ) //激活
{
if ( m_scale_flag ) //如果是在modelview区域
{
//选中后,在外边画一个方框
outRgn.CombineRgn(&upRgn, &downRgn, RGN_OR);
outRgn.GetRgnBox(&outRect);
outRect.InflateRect(5, 5);
pDC->MoveTo(outRect.left, outRect.top);
pDC->LineTo(outRect.right, outRect.top);
pDC->LineTo(outRect.right, outRect.bottom);
pDC->LineTo(outRect.left, outRect.bottom);
pDC->LineTo(outRect.left, outRect.top);
//画出upRgn, downRgn, 和连线
//pDC->FillRgn(&upRgn, normalBrush);
CRect upRect;
upRgn.GetRgnBox(upRect);
pDC->Rectangle(upRect);
pDC->MoveTo(upPoints[2]);
pDC->LineTo(upPoints[5]);
pDC->MoveTo(topPoint);
pDC->LineTo(bottomPoint);
pDC->MoveTo(leftPoint);
pDC->LineTo(rightPoint);
pDC->FillRgn(&downRgn, normalBrush);
inRect.SetRect(upPoints[0].x, upPoints[0].y, upPoints[2].x, upPoints[2].y);
pDC->SetTextColor(pGraphInfo->textcolor);
pDC->DrawText(m_name, inRect, TEXTOUTFOMAT); //|DT_END_ELLIPSIS);
//在矩形的角上,画四个小矩形,5*5象素
smallRect.SetRect(outRect.left, outRect.top, outRect.left+5, outRect.top+5);
pDC->FillRect(smallRect, blackBrush);
smallRect.SetRect(outRect.right-5, outRect.top, outRect.right, outRect.top+5);
pDC->FillRect(smallRect, blackBrush);
smallRect.SetRect(outRect.right-5, outRect.bottom-5, outRect.right, outRect.bottom);
pDC->FillRect(smallRect, blackBrush);
smallRect.SetRect(outRect.left, outRect.bottom-5, outRect.left+5, outRect.bottom);
pDC->FillRect(smallRect, blackBrush);
}
else //如果是在comview区域
{
//选中后,在外边画一个方框
downRgn.GetRgnBox(&outRect);
outRect.InflateRect(5, 5);
pDC->MoveTo(outRect.left, outRect.top);
pDC->LineTo(outRect.right, outRect.top);
pDC->LineTo(outRect.right, outRect.bottom);
pDC->LineTo(outRect.left, outRect.bottom);
//.........这里部分代码省略.........