使用MFC进行编程,绘制直线椭圆以及样条曲线

来源:互联网 发布:windows更新有必要吗 编辑:程序博客网 时间:2024/06/05 14:15

新建基于MFC的空文件,添加.cpp文件,添加.h文件.相应的文件内容为;
hello.h文件

#ifndef __HELLO_H#define __HELLO_H//#include <windows.h>#include <stdio.h>#include <afxwin.h>class CMyApp:public CWinApp  //应用程序类{    virtual BOOL InitInstance();};class CMyFrame:public CFrameWnd         //框架窗口类{public:    CMyFrame();  //构造函数protected:    afx_msg void OnPaint();    DECLARE_MESSAGE_MAP()          //将消息和相应的函数连接在一起};#endif

hello.cpp文件

#include "hello.h"CMyApp  myApp;   //WinMain函数就在这个函数里面,这个就是每个函数都有一个的原因,一个全局变量、//会将相应的函数都进行初始化BOOL CMyApp::InitInstance(){    m_pMainWnd= new CMyFrame;    //窗口运行的指针,指向一个新的内存存储的就是按照CMyApp类开辟的内存   m_pMainWnd->ShowWindow(m_nCmdShow);    m_pMainWnd->UpdateWindow();    return TRUE;            }//开始消息映射BEGIN_MESSAGE_MAP(CMyFrame,CFrameWnd)        //作用是先在子类中寻找相应的函数,若是子类中没有就在父类中进行进行寻找            ON_WM_PAINT()END_MESSAGE_MAP()    //是宏不用带分号CMyFrame::CMyFrame(){    Create(NULL,TEXT("Andrew2017"));}void CMyFrame::OnPaint()     //绘制图形使用OnPaint类提供的函数{    CPaintDC dc(this);    //CRect rect; //   GetClientRect(&rect);                              //这四行是为了绘制一个交叉的直线    /*dc.MoveTo(50,50);    dc.LineTo(600,500);    dc.MoveTo(50,400);    dc.LineTo(600,50);*/    //dc.Ellipse(0,0,100,30)    ;                //绘制一个圆形    POINT aPoint1[]={120,100,120,200,250,150,500,40};          //PolyBezier样条曲线    POINT aPoint2[]={120,100,50,350,250,200,500,40};    dc.PolyBezier(aPoint1,4);    dc.PolyBezier(aPoint2,4);}
0 0
原创粉丝点击