資源簡介
開發環境是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(“未能創建類視圖\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(menu
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????.CA..H.?????53760??2019-01-13?14:24??圖形系統\Draw1\.vs\Draw1\v14\.suo
????.CA....????419328??2019-01-13?13:24??圖形系統\Draw1\Debug\Draw1.exe
????.CA....???3325104??2019-01-13?13:24??圖形系統\Draw1\Debug\Draw1.ilk
????.CA....???3485696??2019-01-13?13:24??圖形系統\Draw1\Debug\Draw1.pdb
????.CA....??????9031??2019-01-11?17:19??圖形系統\Draw1\Draw1\ClassView.cpp
????.CA....??????1275??2019-01-11?17:19??圖形系統\Draw1\Draw1\ClassView.h
????.CA....????226307??2019-01-12?16:55??圖形系統\Draw1\Draw1\Debug\ClassView.obj
????.CA....???????408??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\Draw1.log
????.CA....?????66183??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\Draw1.obj
????.CA....??55050240??2019-01-11?17:20??圖形系統\Draw1\Draw1\Debug\Draw1.pch
????.CA....????123004??2019-01-12?16:57??圖形系統\Draw1\Draw1\Debug\Draw1.res
????.CA....??????8862??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\Draw1.tlog\CL.command.1.tlog
????.CA....?????69944??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\Draw1.tlog\CL.read.1.tlog
????.CA....?????12846??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\Draw1.tlog\CL.write.1.tlog
????.CA....???????223??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\Draw1.tlog\Draw1.lastbuildstate
????.CA....??????3196??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\Draw1.tlog\li
????.CA....??????7780??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\Draw1.tlog\li
????.CA....??????2180??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\Draw1.tlog\li
????.CA....???????454??2019-01-12?16:57??圖形系統\Draw1\Draw1\Debug\Draw1.tlog\rc.command.1.tlog
????.CA....??????6358??2019-01-12?16:57??圖形系統\Draw1\Draw1\Debug\Draw1.tlog\rc.read.1.tlog
????.CA....???????278??2019-01-12?16:57??圖形系統\Draw1\Draw1\Debug\Draw1.tlog\rc.write.1.tlog
????.CA....?????86188??2019-01-12?16:55??圖形系統\Draw1\Draw1\Debug\Draw1Doc.obj
????.CA....?????57323??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\Draw1View.obj
????.CA....????172542??2019-01-12?16:55??圖形系統\Draw1\Draw1\Debug\FileView.obj
????.CA....????138112??2019-01-12?16:55??圖形系統\Draw1\Draw1\Debug\MainFrm.obj
????.CA....????133715??2019-01-12?16:55??圖形系統\Draw1\Draw1\Debug\OutputWnd.obj
????.CA....????213236??2019-01-12?16:55??圖形系統\Draw1\Draw1\Debug\PropertiesWnd.obj
????.CA....?????23600??2019-01-12?16:55??圖形系統\Draw1\Draw1\Debug\SettingDlg.obj
????.CA....????913933??2019-01-11?17:20??圖形系統\Draw1\Draw1\Debug\stdafx.obj
????.CA....???2460672??2019-01-13?13:24??圖形系統\Draw1\Draw1\Debug\vc140.idb
............此處省略75個文件信息
- 上一篇:C++面向對象的ATM機設計,含MFC和控制臺版本
- 下一篇:opencv+c++
評論
共有 條評論