- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二 熟悉 MFC 源程序基本结构
实验目的
(1) 熟悉 Visual Studio 开发环境;
(2) 熟悉 MFC 源程序基本结构;
实验内容
创建一个空白的 Win32 Application 应用程序,设置在静态链接库或者 DLL 中
使用 MFC,建立文件 Demo.h 和 Demo.cpp 并加入到项目中,按照下面规定的步骤手
工输入代码,实现一个 MFC 应用程序。
1、在 Demo.h 中,基于 CFrameWnd 派生新类 CDemoWnd。
#include afxwin.h
class CDemoWnd:public CFrameWnd
{
public:
CDemoWnd();
~CDemoWnd();
};
2、在 Demo.cpp 中,实现 CDemoWnd 类的构造函数和析构函数。
#include Demo.h
// 构造函数
CDemoWnd::CDemoWnd()
{
}
// 析构函数
CDemoWnd::~CDemoWnd()
{
}
3、在 Demo.h 中,基于 CWinApp 类派生新类 CDemoApp,声明 InitInstance()
函数,并定义 CDemoApp 的对象 theApp 为全局对象。
class CDemoApp:public CWinApp
{
public:
BOOL InitInstance();
};
CDemoApp theApp;
4、在 Demo.cpp 中,重载 CDemoApp 类的 InitInstance()函数,完成主窗口对
象的创建和初始化。
BOOL CDemoApp::InitInstance()
{
CDemoWnd *pMainWnd = new CDemoWnd();
pMainWnd-Create(NULL,MFC 演示程序);
pMainWnd-ShowWindow(m_nCmdShow);
pMainWnd-UpdateWindow();
m_pMainWnd = pMainWnd;
return TRUE;
}
5、编译并运行程序。
实验结果
列出源程序清单,以及程序的运行结果;
头文件:
#include afxwin.h
class CDemoWnd:public CFrameWnd
{
public:
CDemoWnd();
~CDemoWnd();
};
class CDemoApp:public CWinApp
{
public:
BOOL InitInstance();
};
CDemoApp theApp;
源文件:
#include Demo.h
// 构造函数
CDemoWnd::CDemoWnd()
{
}
// 析构函数
CDemoWnd::~CDemoWnd()
{
}
BOOL CDemoApp::InitInstance()
{
CDemoWnd *pMainWnd = new CDemoWnd();
pMainWnd-Create(NULL,MFC 演示程序);
pMainWnd-ShowWindow(m_nCmdShow);
pMainWnd-UpdateWindow();
m_pMainWnd = pMainWnd;
return TRUE;
}
运行结果:
总结 Windows 源程序的结构特点,说明各个主要程序段的作用;
Windows的应用程序具有相对固定的框架,其中由入口函数WinMain、窗口函数WndProc构成基本框架,并包含各种数据类型、数据结构与函数等。入口函数Winmain和窗口函数是Windows应用程序的主体。在MFC编程中,我们主要使用CWinApp和CFrameWnd两个类。
CWinApp 类实现 WinMain 函数的功能。MFC 将 Windows 应用程序从开始运行、
消息传递到结束运行所需的各步骤均封装在 CWinApp 类中,CWinApp 类表示 MFC 应
用程序的应用对象。 用户需要声明 CWinApp 派生类为全局对象。用户从 CWinApp
派生了一个应用程序类之后,需要重载 InitInstance 成员函数来创建应用程序的
主窗口对象。
CFrameWnd 对象提供应用程序主窗口的功能,在派生类中可以使用数据成员保
存数据,使用成员函数处理消息和实现其他功能。
总结实验的心得体会,实验中遇到的困难以及解决的方法等。
由于未学过C++,也没有使用过Visual Studio,所以在实验中出现了很多问题。
error C2664: “CFrameWnd::Create”: 不能将参数 2 从“const char [13]”转换为“LPCTSTR”。对于这个问题,需要将项目/属性/配置属性/常规/字符集,改为使用多字节字符集
您可能关注的文档
- 房地产估价基本术语标准(一).doc
- 最完整原创颁奖词.doc
- 最新清迈攻略(在清迈停留40多天心得体会).doc
- 机关讲话稿常用词一览.doc
- 机械制造基础(第1次).doc
- 李琪.doc
- 某市农业机械事故应急预案.doc
- 汇编基本术语.docx
- 法与自由的关系.doc
- 电气试验班培训试题(填空).doc
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
文档评论(0)