• 大小: 56.27MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2022-11-22
  • 语言: C/C++
  • 标签: mfc  

资源简介

计算机图形学课程作业,要求使用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(“未能创建类视图\n“);
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_1\Debug\
     文件      500736  2019-05-30 17:29  exercise1_1\Debug\exercise1_1.exe
     文件     4206576  2019-05-30 17:29  exercise1_1\Debug\exercise1_1.ilk
     文件     7375872  2019-05-30 17:29  exercise1_1\Debug\exercise1_1.pdb
     目录           0  2019-05-30 15:45  exercise1_1\exercise1_1\
     文件    69095424  2019-07-09 19:19  exercise1_1\exercise1_1.sdf
     文件         900  2019-04-09 19:15  exercise1_1\exercise1_1.sln
     文件       31744  2019-07-09 19:19  exercise1_1\exercise1_1.suo
     文件          52  2019-05-30 16:35  exercise1_1\exercise1_1\Circle.txt
     文件        9033  2019-04-09 19:15  exercise1_1\exercise1_1\ClassView.cpp
     文件        1291  2019-04-09 20:59  exercise1_1\exercise1_1\ClassView.h
     文件         987  2019-04-18 15:45  exercise1_1\exercise1_1\Color_Fill.cpp
     文件         449  2019-04-18 15:45  exercise1_1\exercise1_1\Color_Fill.h
     目录           0  2019-07-09 19:16  exercise1_1\exercise1_1\Debug\
     文件       33694  2019-05-30 17:29  exercise1_1\exercise1_1\Debug\cl.command.1.tlog
     文件      346350  2019-05-30 17:29  exercise1_1\exercise1_1\Debug\CL.read.1.tlog
     文件       32296  2019-05-30 17:29  exercise1_1\exercise1_1\Debug\CL.write.1.tlog
     文件      191229  2019-05-29 21:44  exercise1_1\exercise1_1\Debug\ClassView.obj
     文件       25616  2019-05-29 21:44  exercise1_1\exercise1_1\Debug\Color_Fill.obj
     文件         915  2019-04-28 14:39  exercise1_1\exercise1_1\Debug\exercise1_1.exe.embed.manifest
     文件         980  2019-04-28 14:40  exercise1_1\exercise1_1\Debug\exercise1_1.exe.embed.manifest.res
     文件         640  2019-05-30 17:29  exercise1_1\exercise1_1\Debug\exercise1_1.exe.intermediate.manifest
     文件          65  2019-07-09 19:16  exercise1_1\exercise1_1\Debug\exercise1_1.lastbuildstate
     文件        1274  2019-07-09 19:16  exercise1_1\exercise1_1\Debug\exercise1_1.log
     文件       58590  2019-05-30 10:49  exercise1_1\exercise1_1\Debug\exercise1_1.obj
     文件    36896768  2019-05-14 18:49  exercise1_1\exercise1_1\Debug\exercise1_1.pch
     文件      142696  2019-05-30 15:45  exercise1_1\exercise1_1\Debug\exercise1_1.res
     文件         713  2019-04-09 19:34  exercise1_1\exercise1_1\Debug\exercise1_1.vcxprojResolveAssemblyReference.cache
     文件           0  2019-04-09 19:34  exercise1_1\exercise1_1\Debug\exercise1_1.write.1.tlog
     文件       56541  2019-05-29 21:44  exercise1_1\exercise1_1\Debug\exercise1_1Doc.obj
............此处省略164个文件信息

评论

共有 条评论