VS2015MFC图形系统开发基本图形绘制线型颜色


开发环境是VS2015,VS其他版本都可以,过程类似,VC++ MFC简单图形绘制系统开发,基本图形绘制 线宽 颜色 线型,新手可以借鉴看看。
资源截图
代码片段和文件信息

#include “stdafx.h“
#include “MainFrm.h“
#include “ClassView.h“
#include “Resource.h“
#include “Draw1.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(menu

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .CA..H.     53760  2019-01-13 14:24  图形系统Draw1.vsDraw1v14.suo

    .CA....    419328  2019-01-13 13:24  图形系统Draw1DebugDraw1.exe

    .CA....   3325104  2019-01-13 13:24  图形系统Draw1DebugDraw1.ilk

    .CA....   3485696  2019-01-13 13:24  图形系统Draw1DebugDraw1.pdb

    .CA....      9031  2019-01-11 17:19  图形系统Draw1Draw1ClassView.cpp

    .CA....      1275  2019-01-11 17:19  图形系统Draw1Draw1ClassView.h

    .CA....    226307  2019-01-12 16:55  图形系统Draw1Draw1DebugClassView.obj

    .CA....       408  2019-01-13 13:24  图形系统Draw1Draw1DebugDraw1.log

    .CA....     66183  2019-01-13 13:24  图形系统Draw1Draw1DebugDraw1.obj

    .CA....  55050240  2019-01-11 17:20  图形系统Draw1Draw1DebugDraw1.pch

    .CA....    123004  2019-01-12 16:57  图形系统Draw1Draw1DebugDraw1.res

    .CA....      8862  2019-01-13 13:24  图形系统Draw1Draw1DebugDraw1.tlogCL.command.1.tlog

    .CA....     69944  2019-01-13 13:24  图形系统Draw1Draw1DebugDraw1.tlogCL.read.1.tlog

    .CA....     12846  2019-01-13 13:24  图形系统Draw1Draw1DebugDraw1.tlogCL.write.1.tlog

    .CA....       223  2019-01-13 13:24  图形系统Draw1Draw1DebugDraw1.tlogDraw1.lastbuildstate

    .CA....      3196  2019-01-13 13:24  图形系统Draw1Draw1DebugDraw1.tloglink.command.1.tlog

    .CA....      7780  2019-01-13 13:24  图形系统Draw1Draw1DebugDraw1.tloglink.read.1.tlog

    .CA....      2180  2019-01-13 13:24  图形系统Draw1Draw1DebugDraw1.tloglink.write.1.tlog

    .CA....       454  2019-01-12 16:57  图形系统Draw1Draw1DebugDraw1.tlog
c.command.1.tlog

    .CA....      6358  2019-01-12 16:57  图形系统Draw1Draw1DebugDraw1.tlog
c.read.1.tlog

    .CA....       278  2019-01-12 16:57  图形系统Draw1Draw1DebugDraw1.tlog
c.write.1.tlog

    .CA....     86188  2019-01-12 16:55  图形系统Draw1Draw1DebugDraw1Doc.obj

    .CA....     57323  2019-01-13 13:24  图形系统Draw1Draw1DebugDraw1View.obj

    .CA....    172542  2019-01-12 16:55  图形系统Draw1Draw1DebugFileView.obj

    .CA....    138112  2019-01-12 16:55  图形系统Draw1Draw1DebugMainFrm.obj

    .CA....    133715  2019-01-12 16:55  图形系统Draw1Draw1DebugOutputWnd.obj

    .CA....    213236  2019-01-12 16:55  图形系统Draw1Draw1DebugPropertiesWnd.obj

    .CA....     23600  2019-01-12 16:55  图形系统Draw1Draw1DebugSettingDlg.obj

    .CA....    913933  2019-01-11 17:20  图形系统Draw1Draw1Debugstdafx.obj

    .CA....   2460672  2019-01-13 13:24  图形系统Draw1Draw1Debugvc140.idb

............此处省略75个文件信息

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

发表评论

评论列表(条)