【VC开源代码栏目提醒】:网学会员在VC开源代码频道为大家收集整理了ShowView.cpp提供大家参考,希望对大家有所帮助!
// ShowView.cpp : implementation file
//
#include "stdafx.h"
#include "MDISplitter.h"
#include "ShowView.h"
#include "MDISplitterDoc.h"
// CShowView
IMPLEMENT_DYNCREATE(CShowView, CView)
CShowView::CShowView()
{
}
CShowView::~CShowView()
{
}
BEGIN_MESSAGE_MAP(CShowView, CView)
END_MESSAGE_MAP()
// CShowView drawing
void CShowView::OnDraw(CDC* pDC)
{
CMDISplitterDoc* pDoc = GetDocument();
// TODO: add draw code here
COLORREF color = GetColor() ;
DrawElement(pDC, color) ;
}
// CShowView diagnostics
#ifdef _DEBUG
void CShowView::AssertValid() const
{
CView::AssertValid();
}
void CShowView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
#endif //_DEBUG
// CShowView message handlers
COLORREF CShowView::GetColor ()
{
CMDISplitterDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc) ;
COLORREF color ;
//通过
文档类的成员变量m_ncolor来设置颜色
if(pDoc->m_ncolor == 0)
color = RGB(255,0,0) ;
if(pDoc->m_ncolor == 1)
color = RGB(0,255,0) ;
if(pDoc->m_ncolor == 2)
color = RGB(0,0,255) ;
return color ;
}
void CShowView::DrawElement (CDC* pDC, COLORREF color)
{
CMDISplitterDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc) ;
int type ;
//通过
文档类的成员变量m_ntype来得到当前的画刷样式
type = pDoc->m_ntype ;
CPen pen(PS_SOLID, 2, color) ;
CPen* pOldPen = pDC->SelectObject(&pen) ;
switch(type)
{
case 0 :
pDC->Rectangle(200, 200, 400, 400) ;
break ;
case 1:
pDC->Ellipse(200, 200, 400, 400) ;
break ;
case 2:
pDC->Ellipse(200, 200, 500, 400) ;
break ;
case 3:
pDC->Arc(200, 200, 400, 400, 200, 300, 400, 300) ;
break ;
default:
break ;
}
pDC->SelectObject(pOldPen) ;
}