VC++绘制铁路道岔
生活随笔
收集整理的這篇文章主要介紹了
VC++绘制铁路道岔
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
繪制代碼;
void CDaocaView::OnDraw(CDC* pDC) {CDaocaDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCOLORREF DaoChaColor= RGB(0,0,0);int width = m_rect.Width() ;int height = m_rect.Height() ;CPen newpen(PS_SOLID,60,DaoChaColor);CPen newpen1(PS_SOLID,60,RGB(0,255,255));CPen *pOldPen = pDC->SelectObject(&newpen);pDC->MoveTo(m_rect.left,(int)(m_rect.top + height*0.5));pDC->LineTo((int)(m_rect.left +width*0.33),(int)(m_rect.top + height*0.5));pDC->MoveTo((int)(m_rect.left +width*0.33),(int)(m_rect.top+height*0.5));pDC->LineTo((int)(m_rect.left +width*0.5),(int)(m_rect.top+(height*0.5+width*(sqrt(3))/6)));pDC->MoveTo((int)(m_rect.left +width*0.67),(int)(m_rect.top + height*0.5));pDC->LineTo((int)(m_rect.left +width),m_rect.top+height*0.5);m_rect.left=240;m_rect.right=440;pDC->MoveTo(m_rect.left,(int)(m_rect.top + height*0.5));pDC->LineTo((int)(m_rect.left +width/3),(int)(m_rect.top + height*0.5));pOldPen = pDC->SelectObject(&newpen1);pDC->MoveTo((int)(m_rect.left +width/3),(int)(m_rect.top+height*0.5));pDC->LineTo((int)(m_rect.left +width*2/3),(int)(m_rect.top+height*0.5));pOldPen = pDC->SelectObject(&newpen);pDC->MoveTo((int)(m_rect.left +width*2/3),(int)(m_rect.top + height*0.5));pDC->LineTo((int)(m_rect.left +width),m_rect.top+height*0.5);m_rect.left=470;m_rect.right=670;pDC->MoveTo(m_rect.left,(int)(m_rect.top + height*0.5));pDC->LineTo((int)(m_rect.left +width/3),(int)(m_rect.top + height*0.5));pDC->MoveTo((int)(m_rect.left +width/3),(int)(m_rect.top+height*0.5));pDC->LineTo((int)(m_rect.left +width*0.5),(int)(m_rect.top+(height*0.5-width*(sqrt(3))/6)));pDC->MoveTo((int)(m_rect.left +width*2/3),(int)(m_rect.top + height*0.5));pDC->LineTo((int)(m_rect.left +width),m_rect.top+height*0.5);m_rect.left=700;m_rect.right=900;pDC->MoveTo(m_rect.left,(int)(m_rect.top + height*0.5));pDC->LineTo((int)(m_rect.left +width/3),(int)(m_rect.top + height*0.5));pDC->MoveTo((int)(m_rect.left +width/3),(int)(m_rect.top+height*0.5));pDC->LineTo((int)(m_rect.left +width/2),(int)(m_rect.top+(height*0.5+width*(sqrt(3))/6)));pDC->MoveTo((int)(m_rect.left +width*2/3),(int)(m_rect.top + height*0.5));pDC->LineTo((int)(m_rect.left +width),m_rect.top+height*0.5);pDC->SetBkMode(TRANSPARENT);pDC->SelectObject(pOldPen); }頭文件添加一個成員變量:CRect m_rect;
初始化;
CDaocaView::CDaocaView() {// TODO: add construction code herem_rect.left=10;m_rect.top=10;m_rect.right=210;m_rect.bottom=210; }包含<math.h>;
繪制效果如下;
? ? 我也不太了解什么是道岔;可能是指的鐵路交叉的地方;
總結(jié)
以上是生活随笔為你收集整理的VC++绘制铁路道岔的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++结构名、联合名、枚举名都是类型名
- 下一篇: SQLServer制作一个包含三个表的视