【VC开源代码栏目提醒】:网学会员为需要VC开源代码的朋友们搜集整理了TestToolBarView.cpp相关资料,希望对各位网友有所帮助!
// TestToolBarView.cpp : implementation of the CTestToolBarView class
//
#include "stdafx.h"
#include "TestToolBar.h"
#include "TestToolBarDoc.h"
#include "TestToolBarView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTestToolBarView
IMPLEMENT_DYNCREATE(CTestToolBarView, CView)
BEGIN_MESSAGE_MAP(CTestToolBarView, CView)
//{{AFX_MSG_MAP(CTestToolBarView)
ON_COMMAND(ID_PATTERN_BOLD, OnPatternBold)
ON_COMMAND(ID_PATTERN_ITALY, OnPatternItaly)
ON_COMMAND(ID_PATTERN_UNDERLINE, OnPatternUnderline)
//}}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()
/////////////////////////////////////////////////////////////////////////////
// CTestToolBarView construction/destruction
CTestToolBarView::CTestToolBarView()
{
// TODO: add construction code here
m_bBold=false;
m_bItaly=false;
m_bUnderline=false;
}
CTestToolBarView::~CTestToolBarView()
{
}
BOOL CTestToolBarView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CTestToolBarView drawing
void CTestToolBarView::OnDraw(CDC* pDC)
{
CTestToolBarDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
Redraw(pDC);
}
/////////////////////////////////////////////////////////////////////////////
// CTestToolBarView printing
BOOL CTestToolBarView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CTestToolBarView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CTestToolBarView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CTestToolBarView diagnostics
#ifdef _DEBUG
void CTestToolBarView::AssertValid() const
{
CView::AssertValid();
}
void CTestToolBarView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CTestToolBarDoc* CTestToolBarView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTestToolBarDoc)));
return (CTestToolBarDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CTestToolBarView message handlers
void CTestToolBarView::OnPatternBold()
{
// TODO: Add your command handler code here
m_bBold=!m_bBold;
CDC* pDC=GetDC();
Redraw(pDC);
}
void CTestToolBarView::OnPatternItaly()
{
// TODO: Add your command handler code here
m_bItaly=!m_bItaly;
CDC* pDC=GetDC();
Redraw(pDC);
}
void CTestToolBarView::OnPatternUnderline()
{
// TODO: Add your command handler code here
m_bUnderline=!m_bUnderline;
CDC* pDC=GetDC();
Redraw(pDC);
}
void CTestToolBarView::Redraw(CDC *pDC)
{
CRect rect;
GetClientRect(&rect);
CBrush* pOldBrush=(CBrush *)pDC->SelectStockObject(WHITE_BRUSH);
pDC->Rectangle(rect);
pDC->SelectObject(pOldBrush);
TEXTMETRIC tm;
CFont* pOldFont;
CFont* pNewFont=new CFont;
pNewFont->CreateFont(60,0,0,0,
(m_bBold==true? FW_BOLD:FW_NORMAL),
m_bItaly,m_bUnderline,0,
ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
DEFAULT_PITCH&FF_SWISS,
"Aerial");
pOldFont=(CFont *)pDC->SelectObject(pNewFont);
pDC->GetTextMetrics(&tm);
pDC->TextOut(40,40,"
学习使用工具条!");
pDC->SelectObject(pOldFont);
delete pNewFont;
return ;
}