引用:
新建一个dialog工程,在对话框中加如两个控件,一个是静态文本控件,ID改为IDC_WENBEN,一个是按纽控件ID默认,填加它的单击事件,代码如下。
void CWenBenHuaTuDlg::OnButton1() { // TODO: Add your control notification handler code here CPaintDC dc(this); CWnd* pWnd=GetDlgItem(IDC_WENBEN); CDC* pDC=pWnd->GetDC(); pWnd->Invalidate(); pWnd->UpdateWindow(); pDC->Rectangle(0,0,300,300); //创建画笔对象**************画X和Y轴 CPen* pPenRed=new CPen; pPenRed->CreatePen(PS_SOLID,1,RGB(255,0,0)); CGdiObject* pOldPen=pDC->SelectObject(pPenRed); pDC->MoveTo(10,10); pDC->LineTo(10,280); pDC->LineTo(280,280); //创造画笔对象*****************画X轴和Y轴箭头 CPen* pPenBlue=new CPen; pPenBlue->CreatePen(PS_SOLID,1,RGB(0,0,255)); pDC->SelectObject(pPenBlue); pDC->MoveTo(5,15); pDC->LineTo(10,10); pDC->LineTo(15,15); pDC->MoveTo(275,275); pDC->LineTo(280,280); pDC->LineTo(275,285); //写X轴刻值 CString str; str.Format("0"); pDC->SetTextColor(RGB(0,255,0)); pDC->TextOut(10,283,str); str.Format("50"); pDC->TextOut(60,283,str); str.Format("100"); pDC->TextOut(110,283,str); str.Format("150"); pDC->TextOut(160,283,str); str.Format("200"); pDC->TextOut(210,283,str); str.Format("250"); pDC->TextOut(260,283,str); //写X轴刻度线 for(int i=0;i<256;i+=5) { if((i&1)==0) {//10的倍数 pDC->MoveTo(i+10,280); pDC->LineTo(i+10,284); } else { pDC->MoveTo(i+10,280); pDC->LineTo(i+10,282); } } pDC->SelectObject(pOldPen); //删除新的画笔 delete pPenRed; delete pPenBlue;}
联系客服