基于各种视图单文档框架的创建
来源:互联网 发布:大型网络 编辑:程序博客网 时间:2024/06/05 22:50
首先创建一个普通的单文档程序,去掉文档/视图结构:
2、依据上面的创建方式,视图为默认视图,而且不能再创建向导中更改视图。用类向导创建一个CMainView 类:
class CMainView : public CListView{DECLARE_DYNCREATE(CMainView)public:CMainView(); // 动态创建所使用的受保护的构造函数virtual ~CMainView();public:#ifdef _DEBUGvirtual void AssertValid() const;#ifndef _WIN32_WCEvirtual void Dump(CDumpContext& dc) const;#endif#endifprotected:DECLARE_MESSAGE_MAP()public:virtual void OnInitialUpdate();};
3.在主框架的头文件中创建CMainView的对象:
class CMainFrame : public CFrameWnd{public:CMainFrame();protected: DECLARE_DYNAMIC(CMainFrame)//......public:CMainView* m_pMainView;// ......};
4、在OnCreate()函数中创建基于自己的视图,注销掉原来创建的视图:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;// 创建一个视图以占用框架的工作区/*if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL)){TRACE0("未能创建视图窗口\n");return -1;}*/CCreateContext cc;cc.m_pNewViewClass = RUNTIME_CLASS(CMainView);m_pMainView = (CMainView*)CreateView(&cc,AFX_IDW_PANE_FIRST );if (!m_wndStatusBar.Create(this)){TRACE0("未能创建状态栏\n");return -1; // 未能创建}m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));return 0;}
5.对下面两个函数进行一些适当的修改:
// CMainFrame 消息处理程序void CMainFrame::OnSetFocus(CWnd* /*pOldWnd*/){// 将焦点前移到视图窗口m_pMainView->SetFocus();}BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo){// 框架将消息分发给视图if (m_pMainView && m_pMainView->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))return TRUE;// 否则,执行默认处理return CFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);}
这样就更改了单文档的视图。
下面进行一些简单的测试:
void CMainView::OnInitialUpdate(){CListView::OnInitialUpdate();CListCtrl& List = GetListCtrl();List.ModifyStyle(0,LVS_REPORT);List.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES );List.InsertColumn(0,"第一列",0,100);List.InsertColumn(1,"第一列",0,100);}
注:如果在创建单文档的过程中,勾上:文档/视图结构支持 选项,则在创建向导中可以自行更改视图的类型。
阅读全文
0 0
- 基于各种视图单文档框架的创建
- 单文档多视图的创建
- VS2015单文档视图项目中文档、框架以及视图创建过程
- MFC 单文档框架的主菜单创建时间
- MFC,单文档视图创建顺序
- MFC,单文档视图创建顺序 .
- MFC单文档中创建多视图
- MFC单文档中创建多视图
- MDI程序系统框架单文档对应多视图 切换 创建实现过程。
- TN25 文档,视图和框架之创建
- VC基于单文档opengl框架
- MFC的 文档 视图 框架
- OpenGL创建MFC单文档框架
- 基于单文档/视图结构的应用程序中添加启动画面
- MFC基于单文档分割视图后子窗口点击编辑框获得相应的操作
- MFC中获取各种类(文档、视图、框架、应用程序)指针的方法
- MFC中获取各种类(文档、视图、框架、应用程序)指针的方法 .
- MFC中获取各种类(文档、视图、框架、应用程序)指针的方法
- 开源MQTT中间件:moquette
- static的作用
- 绪论(笔记)——从管理热潮到管理绩效
- DB Error: 14 "unable to open database file"
- 714. Best Time to Buy and Sell Stock with Transaction Fee
- 基于各种视图单文档框架的创建
- 友元类,友元成员函数,
- 将短信转换xml
- getRequestDispatcher()与sendRedirect()的区别
- Fiddler—Fiddler抓取HTTPS请求
- 在IntelliJ IDEA中通过svn导入maven项目
- 坑爹的Grails
- hdu 1850 Being a Good Boy in Spring Festival (尼姆博弈)
- buildroot构建项目时,在构建途中机器突然重启的问题