【VC开源代码栏目提醒】:网学会员为广大网友收集整理了,bitmapView.cpp,希望对大家有所帮助!
// bitmapView.cpp : CbitmapView 类的实现
//
#include "stdafx.h"
#include "bitmap.h"
#include "bitmapDoc.h"
#include "bitmapView.h"
#include ".\bitmapview.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CbitmapView
IMPLEMENT_DYNCREATE(CbitmapView, CView)
BEGIN_MESSAGE_MAP(CbitmapView, CView)
// 标准打印命令
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
END_MESSAGE_MAP()
// CbitmapView 构造/析构
CbitmapView::CbitmapView()
{
// TODO: 在此处添加构造代码
state=0;
}
CbitmapView::~CbitmapView()
{
}
BOOL CbitmapView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
// 样式
return CView::PreCreateWindow(cs);
}
// CbitmapView 绘制
void CbitmapView::OnDraw(CDC* pDC)
{
CbitmapDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
if(state==1)
{
CDC dcImage;
if(!dcImage.CreateCompatibleDC(pDC))
return;
BITMAP bm;
m_bit.GetBitmap(&bm);
dcImage.SelectObject(&m_bit);
pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcImage,0,0,SRCCOPY);
state=0;
m_bit.Detach();
}
// TODO: 在此处为本机数据添加绘制代码
}
// CbitmapView 打印
BOOL CbitmapView::OnPreparePrinting(CPrintInfo* pInfo)
{
// 默认准备
return DoPreparePrinting(pInfo);
}
void CbitmapView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 打印前添加额外的初始化
}
void CbitmapView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 打印后添加清除过程
}
// CbitmapView 诊断
#ifdef _DEBUG
void CbitmapView::AssertValid() const
{
CView::AssertValid();
}
void CbitmapView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CbitmapDoc* CbitmapView::GetDocument() const // 非调试版本是内联的
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CbitmapDoc)));
return (CbitmapDoc*)m_pDocument;
}
#endif //_DEBUG
// CbitmapView 消息处理程序
void CbitmapView::OnFileOpen()
{
// TODO: 在此添加命令处理程序代码
CFileDialog dlg (true, "BMP",_T("*.BMP"), OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, "位图文件(*.BMP)|*.BMP|位图文件(*.BMP)|*.jpg|");
if(IDOK==dlg.DoModal())
{
fileName.Format("%s",dlg.GetPathName());
ShowPicture(fileName);
}
}
void CbitmapView::ShowPicture(CString fileName)
{
if(state==0)
{
HBITMAP hBitmap=(HBITMAP)LoadImage(NULL,_T(fileName),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
m_bit.Attach (hBitmap);
state =1;
}
Invalidate();
}
上一篇:
BitmapTreeDemoDlg.cpp
下一篇:
飞行射击游戏源代码_飞行射击游戏android代码_飞行射击游戏APK包