好文档 - 专业文书写作范文服务资料分享网站

基于MFC的绘图软件设计

天下 分享 时间: 加入收藏 我要投稿 点赞

图5-4 颜色模块示意图

5.5 线条粗细改变

通过MFC提供的工具,改变细条设置的磅数即可改变线条的粗细。从而使得绘制出的画面有着更强的视觉感。改变线条磅数的工具栏如图5-5所示。

图5-5 修改线条磅数示意图

改变了细条粗细后的效果如图5-6所示。

图5-6 改变线条粗细示意图

5.6 本章小结

本章节主要介绍了软件设计的具体成果。分步骤分工具箱的介绍了软件每一个部分的结构和功能,并对每一个工具箱设计的目的和意义进行了详细的描述。同时也分图片的展示了软件各个部分的显示效果。

16

总结展望

论文基于MFC设计了小型的绘图软件。并在visual studio中编译代码实现了绘图的功能,初步的完成了软件设计的任务。同时在软件中添加各类的工具,如画笔工具、颜色修改工具、保存控制工具、打印和打印预览工具、线条磅数修改等工具。使得软件的功能得以丰富,能完成更多的特定功能。同时在完成的过程中,论文也暴露出了很多问题,软件仍然有很多未能完善的地方。例如工具较少,能以完成较为复杂的图形绘制。软件没有渲染的功能,对于图片的后期处理能力较差。同时软件在很多图片处理上都没有相对应的功能,软件仍需要进行继续的改进。才能使得软件有着适用性。

17

附录软件部分代码

Draw.cpp代码

// Draw.cpp : 定义应用程序的类行为。 #include \#ifdef _DEBUG

#define new DEBUG_NEW #endif // CDrawApp

BEGIN_MESSAGE_MAP(CDrawApp, CWinApp)

ON_COMMAND(ID_APP_ABOUT, &CDrawApp::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() // CDrawApp构造 CDrawApp::CDrawApp() {

// 支持重新启动管理器

m_dwRestartManagerSupportFlags =

AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;

#ifdef _MANAGED

System.Windows.Forms添加引用。

System::Windows::Forms::Application::SetUnhandledExceptionMode(Syste

m::Windows::Forms::UnhandledExceptionMode::ThrowException);

#endif

// TODO: 将以下应用程序 ID 字符串替换为唯一的 ID 字符串;建议的//为CompanyName.ProductName.SubProduct.VersionInformation SetAppID(_T(\

18

字符串格式

}

// 唯一的一个CDrawApp对象 CDrawApptheApp; // CDrawApp初始化

BOOL CDrawApp::InitInstance() {

// TODO: 在此处添加构造代码,

// 将所有重要的初始化放置在InitInstance中

// 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls);

// 将它设置为包括所有要在应用程序中使用的 // 公共控件类。

InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); // 初始化 OLE 库 if (!AfxOleInit()) { }

AfxEnableControlContainer(); EnableTaskbarInteraction(FALSE);

// 使用RichEdit控件需要 AfxInitRichEdit2() // AfxInitRichEdit2(); // 标准初始化

// 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项

19

AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE;

}

// TODO: 应适当修改该字符串, // 例如修改为公司或组织名

SetRegistryKey(_T(\应用程序向导生成的本地应用程序\LoadStdProfileSettings(4); // 加载标准 INI 文件选项(包括 MRU) // 注册应用程序的文档模板。文档模板 // 将用作文档、框架窗口和视图之间的连接 CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate(

IDR_MAINFRAME,

RUNTIME_CLASS(CDrawDoc),

RUNTIME_CLASS(CMainFrame), // 主 SDI 框架窗口 RUNTIME_CLASS(CDrawView)); return FALSE;

if (!pDocTemplate)

AddDocTemplate(pDocTemplate);

// 分析标准 shell 命令、DDE、打开文件操作的命令行 CCommandLineInfocmdInfo; ParseCommandLine(cmdInfo); // 调度在命令行中指定的命令。如果

// 用 /RegServer、/Register、/Unregserver或 /Unregister 启动应用程序,if (!ProcessShellCommand(cmdInfo))

return FALSE;

// 唯一的一个窗口已初始化,因此显示它并对其进行更新 m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow(); return TRUE;

则返回 FALSE。

intCDrawApp::ExitInstance() { }

20

//TODO: 处理可能已添加的附加资源 AfxOleTerm(FALSE); returnCWinApp::ExitInstance();

基于MFC的绘图软件设计

图5-4颜色模块示意图5.5线条粗细改变通过MFC提供的工具,改变细条设置的磅数即可改变线条的粗细。从而使得绘制出的画面有着更强的视觉感。改变线条磅数的工具栏如图5-5所示。图5-5修改线条磅数示意图改变了细条粗细后的效果如图5-6所示。图5-6改变线条
推荐度:
点击下载文档文档为doc格式
0186i3v04l1jxus0hkxz44s0w0d4ij00w0q
领取福利

微信扫码领取福利

微信扫码分享