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

📄 vcstyleview.cpp

📁 操作系统是Windows 98
💻 CPP
字号:
// VCStyleView.cpp : implementation of the CVCStyleView class
//

#include "stdafx.h"
#include "VCStyle.h"

#include "VCStyleDoc.h"
#include "VCStyleView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CVCStyleView

IMPLEMENT_DYNCREATE(CVCStyleView, CView)

BEGIN_MESSAGE_MAP(CVCStyleView, CView)
	//{{AFX_MSG_MAP(CVCStyleView)
	//}}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()

/////////////////////////////////////////////////////////////////////////////
// CVCStyleView construction/destruction

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

}

CVCStyleView::~CVCStyleView()
{
}

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

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CVCStyleView drawing

void CVCStyleView::OnDraw(CDC* pDC)
{
	CRect rcclient;//客户区
	GetClientRect(&rcclient);

	CDC memdc;//内存DC
	memdc.CreateCompatibleDC(pDC);

	CBitmap membmp;//
	membmp.CreateCompatibleBitmap(pDC,rcclient.Width(),rcclient.Height());

	CBitmap* pOldBitmap = memdc.SelectObject(&membmp);

	memdc.SelectStockObject(WHITE_BRUSH);
	memdc.SelectStockObject(WHITE_PEN);
	memdc.Rectangle(0,0,rcclient.Width(),rcclient.Height());

	//
	CDC memdc2;
	memdc2.CreateCompatibleDC(&memdc);

	CBitmap membmp2;
	membmp2.LoadBitmap(IDB_BITMAP1);

	// 得到位图bitmap的大小 
	BITMAP stBitmap; 
	membmp2.GetObject(sizeof(BITMAP),&stBitmap); 
	CSize bmsize(stBitmap.bmWidth,stBitmap.bmHeight); 

	CBitmap *pold=memdc2.SelectObject(&membmp2); // 选入新的位图对象并保存旧的位图对象
	memdc.BitBlt(0,0,bmsize.cx,bmsize.cy,
		&memdc2,0,0,SRCCOPY);
	memdc2.SelectObject(pold);
	memdc2.DeleteDC();

	//
	pDC->BitBlt(rcclient.left,rcclient.top,rcclient.Width(),rcclient.Height(),
		&memdc,0,0,SRCCOPY);
	memdc.SelectObject(pOldBitmap);
	memdc.DeleteDC();
}

/////////////////////////////////////////////////////////////////////////////
// CVCStyleView printing

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CVCStyleView diagnostics

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CVCStyleView message handlers

⌨️ 快捷键说明

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