📄 scroll~3.cpp
字号:
// ScrollViewView.cpp : CScrollViewView 类的实现
//
#include "stdafx.h"
#include "ScrollView.h"
#include "ScrollViewDoc.h"
#include "ScrollViewView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CScrollViewView
IMPLEMENT_DYNCREATE(CScrollViewView, CScrollView)
BEGIN_MESSAGE_MAP(CScrollViewView, CScrollView)
// 标准打印命令
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()
// CScrollViewView 构造/销毁
CScrollViewView::CScrollViewView()
{
// TODO: 在此处添加构造代码
}
CScrollViewView::~CScrollViewView()
{
}
BOOL CScrollViewView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
// 样式
return CScrollView::PreCreateWindow(cs);
}
// CScrollViewView 绘制
void CScrollViewView::OnDraw(CDC* pDC)
{
CScrollViewDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: 在此处为本机数据添加绘制代码
//选择一灰色画刷
CBrush* pOldBrush=(CBrush*)pDC->SelectStockObject(GRAY_BRUSH);
//创建椭圆的边界矩形
CRect rcTotal(CPoint(0,0),GetTotalSize());
//绘制椭圆
pDC->Ellipse(rcTotal);
//恢复原先画刷
pDC->SelectObject(pOldBrush);
//获取客户区的当前坐标
CRect rcClient;
GetClientRect(&rcClient);
//计算客户区的逻辑坐标
rcClient+=GetScrollPosition();
//获取滚动后视图区的中心
CPoint ptCenter=rcClient.CenterPoint();
//设置字体为黄色
pDC->SetTextColor(RGB(255,255,0));
//设置背景模式
pDC->SetBkMode(TRANSPARENT);
//输出文字
pDC->TextOut(ptCenter.x-50,ptCenter.y,"Welcome to you!");
}
// CScrollViewView 打印
BOOL CScrollViewView::OnPreparePrinting(CPrintInfo* pInfo)
{
// 默认准备
return DoPreparePrinting(pInfo);
}
void CScrollViewView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 打印前添加额外的初始化
}
void CScrollViewView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 打印后添加清除过程
}
// CScrollViewView 诊断
#ifdef _DEBUG
void CScrollViewView::AssertValid() const
{
CScrollView::AssertValid();
}
void CScrollViewView::Dump(CDumpContext& dc) const
{
CScrollView::Dump(dc);
}
CScrollViewDoc* CScrollViewView::GetDocument() const // 非调试版本是内联的
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CScrollViewDoc)));
return (CScrollViewDoc*)m_pDocument;
}
#endif //_DEBUG
// CScrollViewView 消息处理程序
void CScrollViewView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
// TODO: 在此添加专用代码和/或调用基类
//定义SIZE型结构体,该结构为滚动视图的尺寸
SIZE size={2000,1000};
//设置滚动范围
SetScrollSizes(MM_TEXT,size);
}
BOOL CScrollViewView::OnScroll(UINT nScrollCode, UINT nPos, BOOL bDoScroll)
{
// TODO: 在此添加专用代码和/或调用基类
//使窗体区域重绘
Invalidate();
return CScrollView::OnScroll(nScrollCode, nPos, bDoScroll);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -