資源簡介
修改版!可以完美運行于vs2010和更高的版本。編寫一個Windows應用程序,要求在窗口的用戶區繪制一個圓,當單擊左鍵時,該圓放大;單擊右鍵時,該圓縮小;按下Ctrl鍵的同時移動鼠標,則該圓會隨鼠標的移動而移動。
代碼片段和文件信息
#include?“stdafx.h“
#include?“MainFrm.h“
#include?“ClassView.h“
#include?“Resource.h“
#include?“test2.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(menuSor
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-21?16:24??test2\
?????目錄???????????0??2018-12-21?15:47??test2\Debug\
?????文件??????407552??2018-12-21?15:47??test2\Debug\test2.exe
?????文件?????2943308??2018-12-21?15:47??test2\Debug\test2.ilk
?????文件?????5778432??2018-12-21?15:47??test2\Debug\test2.pdb
?????目錄???????????0??2018-12-21?14:50??test2\ipch\
?????目錄???????????0??2018-12-21?14:50??test2\ipch\test2-c8205e5\
?????目錄???????????0??2018-12-21?15:49??test2\test2\
?????文件????65556480??2018-12-21?16:24??test2\test2.sdf
?????文件?????????882??2018-12-20?15:47??test2\test2.sln
?????文件???????15360??2018-12-21?16:24??test2\test2.suo
?????文件????????9027??2018-12-20?15:47??test2\test2\ClassView.cpp
?????文件????????1275??2018-12-20?15:47??test2\test2\ClassView.h
?????目錄???????????0??2018-12-21?15:47??test2\test2\Debug\
?????文件????????7810??2018-12-21?15:47??test2\test2\Debug\cl.command.1.tlog
?????文件???????56410??2018-12-21?15:47??test2\test2\Debug\CL.read.1.tlog
?????文件????????5090??2018-12-21?15:47??test2\test2\Debug\CL.write.1.tlog
?????文件??????190213??2018-12-21?15:47??test2\test2\Debug\ClassView.obj
?????文件??????138018??2018-12-21?15:47??test2\test2\Debug\FileView.obj
?????文件???????????2??2018-12-21?15:47??test2\test2\Debug\li
?????文件???????????2??2018-12-21?15:47??test2\test2\Debug\li
?????文件????????3028??2018-12-21?15:47??test2\test2\Debug\li
?????文件????????6848??2018-12-21?15:47??test2\test2\Debug\li
?????文件????????2140??2018-12-21?15:47??test2\test2\Debug\li
?????文件??????103906??2018-12-21?15:47??test2\test2\Debug\MainFrm.obj
?????文件?????????576??2018-12-21?15:47??test2\test2\Debug\mt.command.1.tlog
?????文件?????????370??2018-12-21?15:47??test2\test2\Debug\mt.read.1.tlog
?????文件?????????430??2018-12-21?15:47??test2\test2\Debug\mt.write.1.tlog
?????文件???????99799??2018-12-21?15:47??test2\test2\Debug\OutputWnd.obj
?????文件??????176063??2018-12-21?15:47??test2\test2\Debug\PropertiesWnd.obj
?????文件????????1152??2018-12-21?15:47??test2\test2\Debug\rc.command.1.tlog
............此處省略105個文件信息
評論
共有 條評論