⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xpstyleview.cpp

📁 visual c++ 实例编程
💻 CPP
字号:
// XPStyleView.cpp : implementation of the CXPStyleView class
//

#include "stdafx.h"
#include "XPStyle.h"

#include "XPStyleDoc.h"
#include "XPStyleView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CXPStyleView

IMPLEMENT_DYNCREATE(CXPStyleView, CView)

BEGIN_MESSAGE_MAP(CXPStyleView, CView)
	//{{AFX_MSG_MAP(CXPStyleView)
	ON_WM_RBUTTONUP()
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CXPStyleView construction/destruction

CXPStyleView::CXPStyleView()
{
	// TODO: add construction code here

}

CXPStyleView::~CXPStyleView()
{
}

BOOL CXPStyleView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CXPStyleView drawing

void CXPStyleView::OnDraw(CDC* pDC)
{
	CXPStyleDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
}

/////////////////////////////////////////////////////////////////////////////
// CXPStyleView printing

BOOL CXPStyleView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CXPStyleView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CXPStyleView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CXPStyleView diagnostics

#ifdef _DEBUG
void CXPStyleView::AssertValid() const
{
	CView::AssertValid();
}

void CXPStyleView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CXPStyleDoc* CXPStyleView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CXPStyleDoc)));
	return (CXPStyleDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CXPStyleView message handlers

void CXPStyleView::OnRButtonUp(UINT nFlags, CPoint point) 
{
	CItemInfo t_ItemInfo[8];

	CXPMenu t_Menu;
	t_Menu.CreatePopupMenu();

	t_ItemInfo[0].sText = "新建(&N)\tCtrl + N";
	t_ItemInfo[0].uIdNormal   = IDI_ICON1;
	t_ItemInfo[0].uIdSelect   = IDI_ICON2;
	t_Menu.AppendMenu(MF_OWNERDRAW, 0, (LPCTSTR)(&(t_ItemInfo[0])));

	t_ItemInfo[1].sText = "打开(&O)\tCtrl + O";
	t_ItemInfo[1].uIdNormal   = IDI_ICON3;
	t_ItemInfo[1].uIdSelect   = IDI_ICON4;
	t_Menu.AppendMenu(MF_OWNERDRAW, 1, (LPCTSTR)(&(t_ItemInfo[1])));

	t_ItemInfo[2].sText = "保存(&S)\t Ctrl + S";
	t_ItemInfo[2].uIdNormal   = IDI_ICON5;
	t_ItemInfo[2].uIdSelect   = IDI_ICON6;
	t_Menu.AppendMenu(MF_OWNERDRAW, 2, (LPCTSTR)(&(t_ItemInfo[2])));

	t_ItemInfo[3].sText = "播放(&P)";
	t_ItemInfo[3].uIdNormal   = IDI_ICON7;
	t_ItemInfo[3].uIdSelect   = IDI_ICON8;
	t_Menu.AppendMenu(MF_OWNERDRAW, 3, (LPCTSTR)(&(t_ItemInfo[3])));

	t_ItemInfo[4].sText = "暂停(&A)";
	t_ItemInfo[4].uIdNormal   = IDI_ICON9;
	t_ItemInfo[4].uIdSelect   = IDI_ICON10;
	t_Menu.AppendMenu(MF_OWNERDRAW, 4, (LPCTSTR)(&(t_ItemInfo[4])));

	t_ItemInfo[5].sText = "停止(&S)";
	t_ItemInfo[5].uIdNormal   = IDI_ICON11;
	t_ItemInfo[5].uIdSelect   = IDI_ICON12;
	t_Menu.AppendMenu(MF_OWNERDRAW, 5, (LPCTSTR)(&(t_ItemInfo[5])));

	t_ItemInfo[6].sText = "上一首(&B)";
	t_ItemInfo[6].uIdNormal   = IDI_ICON13;
	t_ItemInfo[6].uIdSelect   = IDI_ICON14;
	t_Menu.AppendMenu(MF_OWNERDRAW, 6, (LPCTSTR)(&(t_ItemInfo[6])));

	t_ItemInfo[7].sText = "下一首(&N)";
	t_ItemInfo[7].uIdNormal   = IDI_ICON15;
	t_ItemInfo[7].uIdSelect   = IDI_ICON16;
	t_Menu.AppendMenu(MF_OWNERDRAW, 7, (LPCTSTR)(&(t_ItemInfo[7])));

	CPoint ptScreen(point);
	ClientToScreen(&ptScreen);
	t_Menu.TrackPopupMenu(TPM_RIGHTBUTTON, ptScreen.x, ptScreen.y, this);
	
	CView::OnRButtonUp(nFlags, point);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -