MFC飞机大战开发之建立工程、设置窗口
2017-03-05 14:10
232 查看
一、建立工程、设置窗口
通过VS 建立一个新的MFC工程,设置如图所示
![](https://img-blog.csdn.net/20170305135114050?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVlX2hhb3pl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170305135134987?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVlX2hhb3pl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170305135147878?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVlX2hhb3pl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170305135157640?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVlX2hhb3pl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
点击完成,Visual Studio就会为我们生成一个完整的工程,可以点击本地windows调试器运行一下试试
![](https://img-blog.csdn.net/20170305135530568?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVlX2hhb3pl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
这就是代码生成的窗口了,是不是很厉害了,动几下鼠标就可以生成一个窗口,接下来让我来介绍一下这些代码,并对窗口进行一下调整
源文件中有四个cpp文件,stdafx.cpp不用管他,剩下的是ChildView.cpp, MainFrm.cpp和 项目名.cpp ,我们一起先看一下 PlaneWarGame.cpp(项目名.cpp)
找到InitInstance()这个函数
好了,设置完窗口的高度和宽度我们再来到MainFrm.cpp中,对窗口的工具栏啊,菜单栏啊进行设置,把他们统统扔掉~ 哈哈哈
现在再运行一下试试看,是不是整个界面就好很多了~
好啦~ 第一节就结束啦~ 我们建立好了游戏运行时的窗口了,下一节我们学习怎么进行贴图等操作
通过VS 建立一个新的MFC工程,设置如图所示
点击完成,Visual Studio就会为我们生成一个完整的工程,可以点击本地windows调试器运行一下试试
这就是代码生成的窗口了,是不是很厉害了,动几下鼠标就可以生成一个窗口,接下来让我来介绍一下这些代码,并对窗口进行一下调整
源文件中有四个cpp文件,stdafx.cpp不用管他,剩下的是ChildView.cpp, MainFrm.cpp和 项目名.cpp ,我们一起先看一下 PlaneWarGame.cpp(项目名.cpp)
找到InitInstance()这个函数
/* * 这个函数决定了生成的窗口的样式,大小 */ BOOL CPlaneWarGameApp::InitInstance() { CWinApp::InitInstance(); E 4000 nableTaskbarInteraction(FALSE); // 使用 RichEdit 控件需要 AfxInitRichEdit2() // AfxInitRichEdit2(); // 标准初始化 // 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项 // TODO: 应适当修改该字符串, // 例如修改为公司或组织名 SetRegistryKey(_T("应用程序向导生成的本地应用程序")); // 若要创建主窗口,此代码将创建新的框架窗口 // 对象,然后将其设置为应用程序的主窗口对象 CMainFrame* pFrame = new CMainFrame; if (!pFrame) return FALSE; m_pMainWnd = pFrame; // 创建并加载框架及其资源 pFrame->LoadFrame(IDR_MAINFRAME, WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL, NULL); // 唯一的一个窗口已初始化,因此显示它并对其进行更新 /*增加下面这一行可以调整生成的窗口默认的大小 * 游戏界面的宽度和高度我设置为全局的常量,方便在其他类中使用 */ pFrame->SetWindowPos(NULL, 0, 0, Game_Width + 25, Game_Height + 50, SWP_NOMOVE); pFrame->ShowWindow(SW_SHOW); pFrame->UpdateWindow(); return TRUE; }
好了,设置完窗口的高度和宽度我们再来到MainFrm.cpp中,对窗口的工具栏啊,菜单栏啊进行设置,把他们统统扔掉~ 哈哈哈
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; } //这些和工具栏有关,注释掉或者删除,生成的窗口就不会有工具栏了 // * //if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || // !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) //{ // TRACE0("未能创建工具栏\n"); // return -1; // 未能创建 //} //// TODO: 如果不需要可停靠工具栏,则删除这三行 //m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); //EnableDocking(CBRS_ALIGN_ANY); //DockControlBar(&m_wndToolBar); /*加上这一行就可以去掉菜单栏*/ SetMenu(NULL); return 0; } BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: 在此处通过修改 // CREATESTRUCT cs 来修改窗口类或样式 //把这些去掉就会有最小化最大化和关闭的按钮了 //cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE // | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX; cs.dwExStyle &= ~WS_EX_CLIENTEDGE; cs.lpszClass = AfxRegisterWndClass(0); return TRUE; }
现在再运行一下试试看,是不是整个界面就好很多了~
好啦~ 第一节就结束啦~ 我们建立好了游戏运行时的窗口了,下一节我们学习怎么进行贴图等操作
相关文章推荐
- 基于MFC框架的C++游戏开发(二)建立工程、调整窗口
- 《MFC游戏开发》笔记二 建立工程、调整窗口
- 通过eclipse管理tomcat并建立web工程(jsp开发的环境搭建)(eclipse的基本设置)——win7 32位
- MFC建立一个文档视图的工程,然后在窗口上显示数据
- 【转】Symbian OS开发入门(二) :VS2003环境下Symbian工程的导入与建立
- VC工程-设置里的使用MFC作为共享的DLL和使用MFC作为静态链接库 二者区别
- MFC窗口的颜色和字体的设置
- MFC 单文档建立多view工程注意事项
- MFC窗口的颜色和字体的设置
- Davinci DM6446——DSP开发工程建立
- 用VC6开发驱动的工程设置
- Symbian OS开发入门(二) :VS2003环境下Symbian工程的导入与建立
- Symbian OS开发入门(二) :VS2003环境下Symbian工程的导入与建立
- MFC中注册WNDCLASS样式并建立窗口
- 【转】MFC中建立OpenGL窗口
- MFC设置窗口透明
- 建立OpenGL MFC开发环境
- MFC编程(设置字体/不规则窗口/按位图生成不规则窗口)
- 如果每一个聪明的工程 师都打算在自己四年职业生涯后停止做开发而仅做管理工作,我们是无法建立像SQL Server这样的产品的
- 编程小问题系列(5) 如何在VS里设置MFC工程的线程模型