MFC-4简单的窗口重绘(非部分重绘)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                MFC-4简单的窗口重绘(非部分重绘)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                #include <afxwin.h>
#include "resource.h"
#include <afxtempl.h>   //定義模板類的頭文件class MyDocument : public CDocument
{
public:CArray<CPoint,CPoint &> pArray;//<保存的數據類型,讀取保存數據類型的返回值>void AddPoint(CPoint p){pArray.Add(p);}CPoint GetPoint(int i){return pArray[i];}int GetSize(){return pArray.GetSize();}DECLARE_DYNCREATE(MyDocument)//聲明run-time類DECLARE_MESSAGE_MAP()
};IMPLEMENT_DYNCREATE(MyDocument,CDocument)//聲明MyDocument為run-time類
BEGIN_MESSAGE_MAP(MyDocument,CDocument)
END_MESSAGE_MAP();class MyView : public CView
{
public:void OnDraw(CDC * aDC)//必須重載的虛函數,重繪函數{MyDocument *doc = (MyDocument *)GetDocument();//取得當前Document的指針int num = doc->GetSize();int i;for(i=0;i<num;++i){CPoint point = doc->GetPoint(i);aDC->SetPixel(point,RGB(255,0,0));}}afx_msg void OnLButtonDown(UINT,CPoint point){SetCapture();//取得鼠標消息的接收權}afx_msg void OnMouseMove(UINT,CPoint point){if(this == GetCapture()){CClientDC aDC(this);//建立畫布aDC.SetPixel(point,RGB(255,0,0));MyDocument *doc = (MyDocument *)GetDocument();doc->AddPoint(point);}}afx_msg void OnLButtonUp(UINT,CPoint point){::ReleaseCapture();}DECLARE_MESSAGE_MAP()DECLARE_DYNCREATE(MyView)//聲明為run-time類
};BEGIN_MESSAGE_MAP(MyView,CView)ON_WM_LBUTTONDOWN()ON_WM_MOUSEMOVE()ON_WM_LBUTTONUP()
END_MESSAGE_MAP()IMPLEMENT_DYNCREATE(MyView,CView)//聲明MyView為run-time類class MyFrame:public CFrameWnd
{DECLARE_DYNCREATE(MyFrame)//聲明run-time類DECLARE_MESSAGE_MAP()
};BEGIN_MESSAGE_MAP(MyFrame,CFrameWnd)
END_MESSAGE_MAP()IMPLEMENT_DYNCREATE(MyFrame,CFrameWnd)//聲明MyFrame為run-time類class MyApp:public CWinApp
{
public:BOOL InitInstance(){CDocument *doc;//指向文件的指針CSingleDocTemplate * DocTemplate;//文件指向單文檔模板對象的指針DocTemplate = new CSingleDocTemplate(IDR_MENU1,//用于單文檔框架之資源標志符RUNTIME_CLASS(MyDocument),//單文檔窗口的Document類RUNTIME_CLASS(MyFrame),//單文檔窗口的窗口框架類RUNTIME_CLASS(MyView)//單文檔窗口的View類);//建立單文檔模板對象AddDocTemplate(DocTemplate);//將單文檔模板對象設置給MyApp;doc = DocTemplate->CreateNewDocument();//建立一個新的文檔m_pMainWnd = DocTemplate->CreateNewFrame(doc,NULL);//建立一個窗口框架DocTemplate->InitialUpdateFrame((CFrameWnd*)m_pMainWnd,doc);//初始化窗口框架并連接viewm_pMainWnd->ShowWindow(SW_SHOW);//顯示窗口return true;}
} a_app;//建立應用程序對象
 
轉載于:https://www.cnblogs.com/liulun/archive/2010/06/29/1767888.html
總結
以上是生活随笔為你收集整理的MFC-4简单的窗口重绘(非部分重绘)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: supreme多少钱啊?
 - 下一篇: 元气骑士摩托车怎么修?