MFC的视图View
来源:互联网 发布:蒙泰打印不追加数据 编辑:程序博客网 时间:2024/06/05 11:32
概述
MFC视图(View类)提供一个显示数据的窗口,用于和客户交互,父类是CWnd。
视图的使用:1.定义CView类的子类,实现OnDraw()函数 2.调用Create()函数创建,视图的ID用系统提供的AFX_IDW_PANE_FIRST
视图的销毁:CView::PostNcDestroy()会销毁窗口,delete this;
命令消息的映射:
1.Frame窗口首先收到菜单等命令消息,调用CFrameWnd::OnCmdMsg()函数,在函数中获取Frame窗口的活动视图,调用活动视图的OnCmdMsg()函数。
2.调用Frame的窗口本身的OnCmdMsg()函数,获取当前的App,调用App的OnCmdMsg()函数 View->Frame->App
实例
class CMyView:public CView{virtual void OnDraw(CDC* pDC);DECLARE_MESSAGE_MAP()protected:afx_msg void OnPaint(); };BEGIN_MESSAGE_MAP(CMyView,CView) ON_WM_PAINT()END_MESSAGE_MAP()void CMyView::OnDraw(CDC* pDC) {pDC->TextOutW(100,100,L"Hello OnDraw");}void CMyView::OnPaint(){PAINTSTRUCT ps={0};CDC* pDC=BeginPaint(&ps);OnDraw(pDC);pDC->TextOutW(100,200,L"Hello OnPrint");EndPaint(&ps);} class CMainFrame:public CFrameWnd{public:DECLARE_MESSAGE_MAP()afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);};BEGIN_MESSAGE_MAP(CMainFrame,CFrameWnd)ON_WM_CREATE()END_MESSAGE_MAP()int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){if (-1==CFrameWnd::OnCreate(lpCreateStruct)){return -1;}//添加视图CMyView* mpWndView=new CMyView;mpWndView->Create(NULL,L"MyView",WS_CHILD|WS_VISIBLE|WS_BORDER,CRect(0,0,100,100),this,AFX_IDW_PANE_FIRST);SetActiveView(mpWndView);//设置为活动窗口return 0;}class MFCViewApp :public CWinApp { public: virtual BOOL InitInstance(); }; BOOL MFCViewApp::InitInstance() { CMainFrame* pFrame=new CMainFrame; pFrame->Create(NULL,L"MFCView"); m_pMainWnd=pFrame; m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow(); return TRUE; } MFCViewApp theApp;
结果:
- MFC的视图View
- mfc类视图中view类消失的解决办法
- MFC对话框当中使用View视图
- mfc类视图中view类消失
- Android的视图(View)
- 视图(View)的优缺点
- MFC 文档 视图 和 框架 的建立(Document View and Frame Vork)
- View视图的根视图到底是什么
- view视图的调用方法
- view视图的一些理解
- 【view】修改现有的视图
- 获取View视图的Bitmap
- View视图的创建过程
- view视图的一些理解
- oracle 视图view的创建
- UIViewController view视图的加载
- mysql 视图 view 的用法
- oracle 视图(view)的使用
- Eclipse开发调试ARM裸机程序
- 学习笔记补充
- php代码执行效率测试工具xhprof安装&使用
- Hibernate工作原理
- Java数据结构(栈篇)
- MFC的视图View
- JAVA拷问HashMap和HashTable
- 重写Object中的hashCode方法
- TCP/IP详解之IP协议ARP协议和RARP协议
- SQL Server 2008 修改表结构后不能保存的问题
- 静心营
- 佳能(中国)饰品&花题材的拍摄效果例和要领介绍。
- BeanUtils注册DATE格式
- POLL, SELECT & EPOLL 原理比较分析