内容发布更新时间 : 2024/12/27 17:59:16星期一 下面是文章的全部内容请认真阅读。
武 汉 科 技 大 学
面向对象程序设计实验报告
二○一七 ---- 二○一八 学年第 二 学期
学 院: 信息科学与工程学院 专 业: 电子信息工程 班 级: 电信1603 学 号: 201604135100 姓 名: 吴伟煌
二○一八年 月 日
实验六 编制绘图程序 一、实验目的 1) 掌握 MFC 编程。
2) 结合前面知识进行 C++综合实验编程。 二、实验内容
实现用鼠标在屏幕上画图。
#include \#include \#include \
#include \#include \
#ifdef _DEBUG #define new DEBUG_NEW #endif
// Cpaint2App
BEGIN_MESSAGE_MAP(Cpaint2App, CWinApp)
// Cpaint2App 构造
Cpaint2App::Cpaint2App() { }
// 唯一的一个Cpaint2App 对象
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在InitInstance 中 ON_COMMAND(ID_APP_ABOUT, &Cpaint2App::OnAppAbout) // 基于文件的标准文档命令
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew) ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen) // 标准打印设置命令
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
Cpaint2App theApp;
// Cpaint2App 初始化
BOOL Cpaint2App::InitInstance() {
// 初始化OLE 库 if (!AfxOleInit()) { }
AfxEnableControlContainer(); // 标准初始化
// 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项 // TODO: 应适当修改该字符串, // 例如修改为公司或组织名
SetRegistryKey(_T(\应用程序向导生成的本地应用程序\)); LoadStdProfileSettings(4); // 加载标准INI 文件选项(包括MRU) // 注册应用程序的文档模板。文档模板 // 将用作文档、框架窗口和视图之间的连接 CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(Cpaint2Doc),
RUNTIME_CLASS(CMainFrame), // 主SDI 框架窗口 RUNTIME_CLASS(Cpaint2View)); AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; CWinApp::InitInstance();
// 如果一个运行在Windows XP 上的应用程序清单指定要 // 使用ComCtl32.dll 版本6 或更高版本来启用可视化方式, //则需要InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // 将它设置为包括所有要在应用程序中使用的 // 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls);