對話方塊畫座標

來源:互聯網
上載者:User
void CStartMonitorDlg::OnPaint(){       CPaintDC dc(this);             //////////////////////////////////////////////////////////////////////////       //*******畫座標圖*******       ////////////////////////////////////////////////////////////////////////////CRect rect;GetDlgItem(IDC_DIAMETER)->GetClientRect(rect);rect.Width();rect.Height();//用rect.Width()替代nxLength,rect.Height()替代nyLength       int nxLength=400;       int nyLength=300;        int nxDivisionNumber = 7;       int nyDivisionNumber = 6;        int nMeshLength;        CString str;       int i;        CWnd *pWnd = GetDlgItem(IDC_DIAMETER_TIME_CURVE);       CDC* pDC = pWnd->GetDC();       pWnd->Invalidate();       pWnd->UpdateWindow();        pDC->Rectangle(0,0,nxLength,nyLength);        CPen* pPenRed = new CPen;                                          //建立畫筆對象       pPenRed->CreatePen(PS_SOLID, 1, RGB(255,0,0));  //紅色畫筆        CPen* pPenGreen = new CPen;                                //建立畫筆對象       pPenGreen->CreatePen(PS_SOLID, 1, RGB(0,255,0));//綠色畫筆        CPen* pPenBlue = new CPen;                                  //建立畫筆對象       pPenBlue->CreatePen(PS_DOT, 1, RGB(0,0,255));     //藍色畫筆        CPen* pPenBlack = new CPen;                                 //建立畫筆對象       pPenBlack->CreatePen(PS_SOLID, 1, RGB(0,0,0)); //黑色畫筆        //選中黑色畫筆,並儲存當前畫筆       CGdiObject* pOldPen = pDC->SelectObject(pPenBlack);       pDC->MoveTo(30,10);                              //繪製座標軸       pDC->LineTo(30,nyLength-30);                  //垂直軸       pDC->LineTo(nxLength-10,nyLength-30);   //水平軸        //橫座標箭頭       pDC->MoveTo(nxLength-10-10,nyLength-30-3);       pDC->LineTo(nxLength-10,nyLength-30);       pDC->LineTo(nxLength-10-10,nyLength-30+3);       pDC->LineTo(nxLength-10-10,nyLength-30-3);        //縱座標箭頭       pDC->MoveTo(27,20);       pDC->LineTo(30,10);       pDC->LineTo(33,20);       pDC->LineTo(27,20);        //橫座標數字       nMeshLength = (nxLength-40)/(nxDivisionNumber+1);       for (i=0; i<nxDivisionNumber+1; i++){              str.Format("%d",i);              pDC->TextOut(27+i*nMeshLength, nyLength-27, str);       }        //橫座標標識       str.Format("時間");       pDC->TextOut(nxLength-33,nyLength-27,str);        //縱座標數字       nMeshLength = (nyLength-40)/(nyDivisionNumber+1);       for (i=0; i<nyDivisionNumber+1; i++){              str.Format("%d",i*25);              pDC->TextOut(3, nyLength-40-i*nMeshLength, str);       }        //縱座標標識       str.Format("直徑");       pDC->TextOut(1,3,str);        //網格線       pDC->SelectObject(pPenBlue);        nMeshLength = (nxLength-40)/(nxDivisionNumber+1);       for (i=1; i<nxDivisionNumber+2; i++){              pDC->MoveTo(30+i*nMeshLength,nyLength-30);              pDC->LineTo(30+i*nMeshLength,10);       }        nMeshLength = (nyLength-40)/(nyDivisionNumber+1);       for (i=1; i<nyDivisionNumber+2; i++){              pDC->MoveTo(30,nyLength-30-i*nMeshLength);              pDC->LineTo(nxLength-10,nyLength-30-i*nMeshLength);       }        //////////////////////////////////////////////////////////////////////////       //*******畫生長曲線圖*******       //////////////////////////////////////////////////////////////////////////          //恢複以前的畫筆       pDC->SelectObject(pOldPen);        delete pPenRed;       delete pPenGreen;       delete pPenBlue;       delete pPenBlack;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.