图形学课程作业-mfc.zip


计算机图形学课程作业,要求使用C++mfc编写的类似画图的程序,包括画直线,圆,多边形,填充颜色(递归,扫描线),存储到TXT,可恢复,有裁剪功能。
资源截图
代码片段和文件信息

#include “stdafx.h“
#include “MainFrm.h“
#include “ClassView.h“
#include “Resource.h“
#include “exercise1_1.h“

class CClassViewMenuButton : public CMFCToolBarMenuButton
{
friend class CClassView;

DECLARE_SERIAL(CClassViewMenuButton)

public:
CClassViewMenuButton(HMENU hMenu = NULL) : CMFCToolBarMenuButton((UINT)-1 hMenu -1)
{
}

virtual void OnDraw(CDC* pDC const CRect& rect CMFCToolBarImages* pImages BOOL bHorz = TRUE
BOOL bCustomizeMode = FALSE BOOL bHighlight = FALSE BOOL bDrawBorder = TRUE BOOL bGrayDisabledButtons = TRUE)
{
pImages = CMFCToolBar::GetImages();

CAfxDrawState ds;
pImages->PrepareDrawImage(ds);

CMFCToolBarMenuButton::OnDraw(pDC rect pImages bHorz bCustomizeMode bHighlight bDrawBorder bGrayDisabledButtons);

pImages->EndDrawImage(ds);
}
};

IMPLEMENT_SERIAL(CClassViewMenuButton CMFCToolBarMenuButton 1)

//////////////////////////////////////////////////////////////////////
// 构造/析构
//////////////////////////////////////////////////////////////////////

CClassView::CClassView()
{
m_nCurrSort = ID_SORTING_GROUPBYTYPE;
}

CClassView::~CClassView()
{
}

BEGIN_MESSAGE_MAP(CClassView CDockablePane)
ON_WM_CREATE()
ON_WM_SIZE()
ON_WM_CONTEXTMENU()
ON_COMMAND(ID_CLASS_ADD_MEMBER_FUNCTION OnClassAddMemberFunction)
ON_COMMAND(ID_CLASS_ADD_MEMBER_VARIABLE OnClassAddMemberVariable)
ON_COMMAND(ID_CLASS_DEFINITION OnClassDefinition)
ON_COMMAND(ID_CLASS_PROPERTIES OnClassProperties)
ON_COMMAND(ID_NEW_FOLDER OnNewFolder)
ON_WM_PAINT()
ON_WM_SETFOCUS()
ON_COMMAND_RANGE(ID_SORTING_GROUPBYTYPE ID_SORTING_SORTBYACCESS OnSort)
ON_UPDATE_COMMAND_UI_RANGE(ID_SORTING_GROUPBYTYPE ID_SORTING_SORTBYACCESS OnUpdateSort)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CClassView 消息处理程序

int CClassView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDockablePane::OnCreate(lpCreateStruct) == -1)
return -1;

CRect rectDummy;
rectDummy.SetRectEmpty();

// 创建视图:
const DWORD dwViewstyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;

if (!m_wndClassView.Create(dwViewstyle rectDummy this 2))
{
TRACE0(“未能创建类视图
“);
return -1;      // 未能创建
}

// 加载图像:
m_wndToolBar.Create(this AFX_DEFAULT_TOOLBAR_style IDR_SORT);
m_wndToolBar.LoadToolBar(IDR_SORT 0 0 TRUE /* 已锁定*/);

onchangeVisualstyle();

m_wndToolBar.SetPanestyle(m_wndToolBar.GetPanestyle() | CBRS_TOOLTIPS | CBRS_FLYBY);
m_wndToolBar.SetPanestyle(m_wndToolBar.GetPanestyle() & ~(CBRS_GRIPPER | CBRS_SIZE_DYNAMIC | CBRS_BORDER_TOP | CBRS_BORDER_BOTTOM | CBRS_BORDER_LEFT | CBRS_BORDER_RIGHT));

m_wndToolBar.SetOwner(this);

// 所有命令将通过此控件路由,而不是通过主框架路由:
m_wndToolBar.SetRouteCommandsViaframe(FALSE);

CMenu menuSort;
menuSort.LoadMenu(IDR_POPUP_SORT);

m_wndToolBar.ReplaceButton(ID_SORT_MENU CClassViewMenuButton(m

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-07-09 19:19  exercise1_1
     目录           0  2019-05-30 10:44  exercise1_1Debug
     文件      500736  2019-05-30 17:29  exercise1_1Debugexercise1_1.exe
     文件     4206576  2019-05-30 17:29  exercise1_1Debugexercise1_1.ilk
     文件     7375872  2019-05-30 17:29  exercise1_1Debugexercise1_1.pdb
     目录           0  2019-05-30 15:45  exercise1_1exercise1_1
     文件    69095424  2019-07-09 19:19  exercise1_1exercise1_1.sdf
     文件         900  2019-04-09 19:15  exercise1_1exercise1_1.sln
     文件       31744  2019-07-09 19:19  exercise1_1exercise1_1.suo
     文件          52  2019-05-30 16:35  exercise1_1exercise1_1Circle.txt
     文件        9033  2019-04-09 19:15  exercise1_1exercise1_1ClassView.cpp
     文件        1291  2019-04-09 20:59  exercise1_1exercise1_1ClassView.h
     文件         987  2019-04-18 15:45  exercise1_1exercise1_1Color_Fill.cpp
     文件         449  2019-04-18 15:45  exercise1_1exercise1_1Color_Fill.h
     目录           0  2019-07-09 19:16  exercise1_1exercise1_1Debug
     文件       33694  2019-05-30 17:29  exercise1_1exercise1_1Debugcl.command.1.tlog
     文件      346350  2019-05-30 17:29  exercise1_1exercise1_1DebugCL.read.1.tlog
     文件       32296  2019-05-30 17:29  exercise1_1exercise1_1DebugCL.write.1.tlog
     文件      191229  2019-05-29 21:44  exercise1_1exercise1_1DebugClassView.obj
     文件       25616  2019-05-29 21:44  exercise1_1exercise1_1DebugColor_Fill.obj
     文件         915  2019-04-28 14:39  exercise1_1exercise1_1Debugexercise1_1.exe.embed.manifest
     文件         980  2019-04-28 14:40  exercise1_1exercise1_1Debugexercise1_1.exe.embed.manifest.res
     文件         640  2019-05-30 17:29  exercise1_1exercise1_1Debugexercise1_1.exe.intermediate.manifest
     文件          65  2019-07-09 19:16  exercise1_1exercise1_1Debugexercise1_1.lastbuildstate
     文件        1274  2019-07-09 19:16  exercise1_1exercise1_1Debugexercise1_1.log
     文件       58590  2019-05-30 10:49  exercise1_1exercise1_1Debugexercise1_1.obj
     文件    36896768  2019-05-14 18:49  exercise1_1exercise1_1Debugexercise1_1.pch
     文件      142696  2019-05-30 15:45  exercise1_1exercise1_1Debugexercise1_1.res
     文件         713  2019-04-09 19:34  exercise1_1exercise1_1Debugexercise1_1.vcxprojResolveAssemblyReference.cache
     文件           0  2019-04-09 19:34  exercise1_1exercise1_1Debugexercise1_1.write.1.tlog
     文件       56541  2019-05-29 21:44  exercise1_1exercise1_1Debugexercise1_1Doc.obj
............此处省略164个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)