欢迎来到天天文库
浏览记录
ID:41010513
大小:35.50 KB
页数:10页
时间:2019-08-13
《应用程序框架示例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、//应用程序框架示例:基于框架窗口的应用程序//First,hereistheMyApp.hheaderfilefortheMYAPP//application://applicationclassclassCMyApp:publicCWinApp{public:virtualBOOLInitInstance();};//framewindowclassclassCMyFrame:publicCFrameWnd{public:CMyFrame();protected://"afx_msg"indicatesthatthenexttwofunctionsarepart/
2、/oftheMFClibrarymessagedispatchsystemafx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint);afx_msgvoidOnPaint();DECLARE_MESSAGE_MAP()};//AndhereistheMyApp.cppimplementationfileforthe//MYAPPapplication:#include//MFClibraryheaderfiledeclaresbaseclasses#include"myapp.h"CMyApptheApp;//
3、theoneandonlyCMyAppobjectBOOLCMyApp::InitInstance(){m_pMainWnd=newCMyFrame();m_pMainWnd->ShowWindow(m_nCmdShow);m_pMainWnd->UpdateWindow();returnTRUE;}BEGIN_MESSAGE_MAP(CMyFrame,CFrameWnd)ON_WM_LBUTTONDOWN()ON_WM_PAINT()END_MESSAGE_MAP()CMyFrame::CMyFrame(){Create(NULL,"MYAPPApplication
4、");}voidCMyFrame::OnLButtonDown(UINTnFlags,CPointpoint){TRACE("EnteringCMyFrame::OnLButtonDown-%lx,%d,%d",(long)nFlags,point.x,point.y);}voidCMyFrame::OnPaint(){CPaintDCdc(this);dc.TextOut(0,0,"Hello,world!");}//Example9-1吹泡泡程序#include//框架窗口类#defineMAX_BUBBLE250classCMyWnd:p
5、ublicCFrameWnd{CRectm_rectBubble[MAX_BUBBLE];intm_nBubbleCount;public:CMyWnd(){m_nBubbleCount=0;}protected:afx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint);afx_msgvoidOnPaint();DECLARE_MESSAGE_MAP();};//消息映射BEGIN_MESSAGE_MAP(CMyWnd,CFrameWnd)ON_WM_LBUTTONDOWN()ON_WM_PAINT()END_MESSAGE_M
6、AP()//MFC中包含了大量的预定义消息映射宏,用来指定各种成员函数与各种形如WM_×××//的消息相对应。这时只需要写出要处理的消息,不必写出处理函数名。//框架窗口类的成员函数voidCMyWnd::OnLButtonDown(UINTnFlags,CPointpoint){if(m_nBubbleCount7、unt++;InvalidateRect(rect,FALSE);//通知OnPaint()函数更新窗口客户区中指定区域//OnPaint()函数仅在窗口生成、大小改变或覆盖在其上的其它窗口移动时被自动调用,因//此在其它情况下需用CWnd类的成员函数InvalidateRect()函数通知OnPaint()函数重画窗//口客户区中的部分区域(包括刚添加的泡泡在内的所有泡泡)。}}voidCMyWnd::OnPaint(){CPaintDCdc(this);dc.SelectStockObject(LTGRAY_BRUSH);for(inti=0;i
7、unt++;InvalidateRect(rect,FALSE);//通知OnPaint()函数更新窗口客户区中指定区域//OnPaint()函数仅在窗口生成、大小改变或覆盖在其上的其它窗口移动时被自动调用,因//此在其它情况下需用CWnd类的成员函数InvalidateRect()函数通知OnPaint()函数重画窗//口客户区中的部分区域(包括刚添加的泡泡在内的所有泡泡)。}}voidCMyWnd::OnPaint(){CPaintDCdc(this);dc.SelectStockObject(LTGRAY_BRUSH);for(inti=0;i
此文档下载收益归作者所有