• 大小: 45.13MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-30
  • 语言: 其他
  • 标签: MFC  c++  

资源简介

修改版!可以完美运行于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\link-cvtres.read.1.tlog
     文件           2  2018-12-21 15:47  test2\test2\Debug\link-cvtres.write.1.tlog
     文件        3028  2018-12-21 15:47  test2\test2\Debug\link.command.1.tlog
     文件        6848  2018-12-21 15:47  test2\test2\Debug\link.read.1.tlog
     文件        2140  2018-12-21 15:47  test2\test2\Debug\link.write.1.tlog
     文件      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个文件信息

评论

共有 条评论