好文档 - 专业文书写作范文服务资料分享网站

计算机控制实验指导书2016

天下 分享 时间: 加入收藏 我要投稿 点赞

font0=pDC->SelectObject(&font); pDC->SetTextColor(RGB(0,0,0)); pDC->SetBkMode(TRANSPARENT); pDC->DrawText(s,-1,&rect0,DT_CENTER); pDC->SelectObject(font0); }

pen0=pDC->SelectObject(&hPen2); //画曲线r[t] for(i=0;i<99;i++) { pDC->MoveTo((50+i*5),(610-r[i]*100)); pDC->LineTo((50+i*5+5),(610-r[i+1]*100)); }

pDC->SelectObject(pen0);

pen0=pDC->SelectObject(&hPen3); //画曲线y[t] for(i=0;i<99;i++) { pDC->MoveTo((50+i*5),(610-y[i]*100)); pDC->LineTo((50+i*5+5),(610-y[i+1]*100)); } pDC->SelectObject(pen0); hPen1.DeleteObject();

hPen2.DeleteObject(); hPen3.DeleteObject(); font.DeleteObject(); }

// CMy1111View printing

BOOL CMy1111View::OnPreparePrinting(CPrintInfo* pInfo) {

return DoPreparePrinting(pInfo); }

void CMy1111View::OnBeginPrinting(CDC*, CPrintInfo*) {

// TODO: add extra initialization before printing }

void CMy1111View::OnEndPrinting(CDC*, CPrintInfo*) {

// TODO: add cleanup after printing }

21

// CMy1111View diagnostics

#ifdef _DEBUG

void CMy1111View::AssertValid() const {

CView::AssertValid(); }

void CMy1111View::Dump(CDumpContext& dc) const {

CView::Dump(dc); }

CMy1111Doc* CMy1111View::GetDocument()// non-debug version is //inline {

ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS (CMy1111Doc)));

return (CMy1111Doc*)m_pDocument; }

#endif //_DEBUG

22

参考程序2

#include \#include \

#include \#include \

#ifdef _DEBUG

#define new DEBUG_NEW #undef THIS_FILE

static char THIS_FILE[] = __FILE__; #endif

IMPLEMENT_DYNCREATE(CMy1111View, CView)

BEGIN_MESSAGE_MAP(CMy1111View, CView) ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP()

CMy1111View::CMy1111View() { }

CMy1111View::~CMy1111View() { }

BOOL CMy1111View::PreCreateWindow(CREATESTRUCT& cs) { return CView::PreCreateWindow(cs); }

void CMy1111View::OnDraw(CDC* pDC) { int i; double r[1000];

23

double y[1000]; double e[1000]; double u[1000]; for(i=0;i<1000;i++) r[i]=1; e[0]=0; u[0]=0; y[0]=0; e[1]=1; u[1]=1/3.68; y[1]=0; for( i=2;i<1000;i++) { y[i]=1.368*y[i-1]-0.368*y[i-2]+3.68*u[i-1]+2.64224*u[i-2]; e[i]=r[i]-y[i]; u[i]=-0.718*u[i-1]+(e[i]-0.368*e[i-1])/3.68; } CPen hPen1(PS_SOLID,1,RGB(0,0,0)); CPen hPen2(PS_SOLID,1,RGB(255,0,0)); CPen hPen3(PS_SOLID,1,RGB(0,255,0)); CPen * pen0; CRect rect0; char s[50];

CFont font; font.CreateFont(10,6, 0, 0, 30, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,

PROOF_QUALITY, DEFAULT_PITCH|FF_ROMAN, \

CFont * font0;

// 画X-Y坐标抽 pen0=pDC->SelectObject(&hPen1); pDC->MoveTo(50,610); pDC->LineTo(950,610); pDC->MoveTo(50,610); pDC->LineTo(50,10); pDC->SelectObject(pen0);

pen0=pDC->SelectObject(&hPen1); pDC->MoveTo(950,610);

24

pDC->LineTo(945,605); pDC->MoveTo(950,610); pDC->LineTo(945,615); pDC->MoveTo(50,10); pDC->LineTo(45,15); pDC->MoveTo(50,10); pDC->LineTo(55,15); pDC->SelectObject(pen0);

//画X轴刻度 for(i=0;i<9;i++) { pen0=pDC->SelectObject(&hPen1);//画的刻度线 pDC->MoveTo(50+i*100,610); pDC->LineTo(50+i*100,605); pDC->SelectObject(pen0); rect0.left=40+i*100; rect0.right=rect0.left+20; rect0.top=615; rect0.bottom=630; sprintf(s,\ font0=pDC->SelectObject(&font); pDC->SetTextColor(RGB(0,0,0)); pDC->SetBkMode(TRANSPARENT); pDC->DrawText(s,-1,&rect0,DT_CENTER); pDC->SelectObject(font0); }

//画Y轴刻度 for(i=0;i<2;i++) { pen0=pDC->SelectObject(&hPen1);//////////////画刻度线 pDC->MoveTo(50,410-i*200); pDC->LineTo(55,410-i*200); pDC->SelectObject(pen0);///////////////// rect0.left=30;///////////////////////////画刻度 rect0.right=rect0.left+20; rect0.top=410-i*200-5; rect0.bottom=rect0.top+20; sprintf(s,\ font0=pDC->SelectObject(&font); pDC->SetTextColor(RGB(0,0,0));

25

计算机控制实验指导书2016

font0=pDC->SelectObject(&font);pDC->SetTextColor(RGB(0,0,0));pDC->SetBkMode(TRANSPARENT);pDC->DrawText(s,-1,&rect0,DT_CENTER);pDC->SelectObject(font0);}pen0=pD
推荐度:
点击下载文档文档为doc格式
4fh8d368kq3bj0w6iip07zlrl1bkfq0131j
领取福利

微信扫码领取福利

微信扫码分享