📄 s09_03view.cpp
字号:
// S09_03View.cpp : CS09_03View 类的实现
//
#include "stdafx.h"
#include "S09_03.h"
#include "S09_03Doc.h"
#include "S09_03View.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CS09_03View
IMPLEMENT_DYNCREATE(CS09_03View, CView)
BEGIN_MESSAGE_MAP(CS09_03View, 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)
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()
// CS09_03View 构造/销毁
CS09_03View::CS09_03View()
{
// TODO: 在此处添加构造代码
}
CS09_03View::~CS09_03View()
{
}
BOOL CS09_03View::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
// 样式
return CView::PreCreateWindow(cs);
}
// CS09_03View 绘制
void CS09_03View::OnDraw(CDC* pDC)
{
CS09_03Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: 在此处为本机数据添加绘制代码
// 如果还没有DIB数据,则返回
if ( (m_dib.m_pBMI == NULL) || (m_dib.m_pDIBData == NULL) )
return;
CRect rect;
GetClientRect(rect); // 得到窗口客户区矩形
// 显示DIB图象,占满窗口的整个客户区
m_dib.ShowDIB(pDC, 0, 0, rect.Width(), rect.Height());
}
// CS09_03View 打印
BOOL CS09_03View::OnPreparePrinting(CPrintInfo* pInfo)
{
// 默认准备
return DoPreparePrinting(pInfo);
}
void CS09_03View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 打印前添加额外的初始化
}
void CS09_03View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 打印后添加清除过程
}
// CS09_03View 诊断
#ifdef _DEBUG
void CS09_03View::AssertValid() const
{
CView::AssertValid();
}
void CS09_03View::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CS09_03Doc* CS09_03View::GetDocument() const // 非调试版本是内联的
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CS09_03Doc)));
return (CS09_03Doc*)m_pDocument;
}
#endif //_DEBUG
// CS09_03View 消息处理程序
void CS09_03View::OnFileOpen()
{
// TODO: 在此添加命令处理程序代码
CString filename;
// 利用“打开”通用对话框打开一个BMP文件
static char szFilter[] = "BMP文件(*.bmp)|*.bmp||";
CFileDialog dlg(TRUE, "bmp", NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
szFilter);
if ( dlg.DoModal() == IDOK )
{
CString WndTitle;
filename = dlg.GetPathName(); // 得到用户选择的文件名
WndTitle="S09_03 - "+filename;
AfxGetMainWnd()->SetWindowText(WndTitle);
if ( !m_dib.LoadFromFile(filename) ) // 读入DIB文件内容
return;
Invalidate(FALSE); // 使得刷新窗口显示内容
}
}
BOOL CS09_03View::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
return CView::OnEraseBkgnd(pDC);
// return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -