📄 view2.cpp
字号:
// View2.cpp : implementation file
//
#include "stdafx.h"
#include "cge.h"
#include "View2.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CView2
IMPLEMENT_DYNCREATE(CView2, CView)
CView2::CView2()
{
}
CView2::~CView2()
{
}
BEGIN_MESSAGE_MAP(CView2, CView)
//{{AFX_MSG_MAP(CView2)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CView2 drawing
/* LL
void CView2::OnDraw(CDC* pDC)
{
HBRUSH m_hBrush;
m_hBrush = (HBRUSH) GetStockObject(WHITE_BRUSH);
SelectObject(m_MemDC,m_hBrush);
PatBlt(m_MemDC,0,0,m_nMaxX,m_nMaxY,PATCOPY);
CCgeDoc* pDoc = (CCgeDoc* )GetDocument();
if(!pDoc->blank)
{
DrawNo(pDoc, &m_MemDC);
}
int d= pDoc->VPos;
// 将变化的部分从内存位图拷贝到屏幕上
rect.left = 0 + d;
rect.top = 0;
rect.right = m_nMaxX;
rect.bottom = m_nMaxY;
pDC->BitBlt( 0,0,//rect.left, rect.top,
20,600, //取目的图和原图的宽和高(一样)
//rect.Width(), rect.Height(),
&m_MemDC, //原设备的描述表
0, d, //取原图的起点(宽和高同目的图一样)
//rect.left, rect.top,
SRCCOPY );
//DrawNo(pDoc, pDC);
}*/
// LL
void CView2::OnDraw(CDC* pDC)
{
CCgeDoc* pDoc = (CCgeDoc* )GetDocument();
CPen pen;
pen.CreatePen(PS_SOLID, 1, RGB(255,0,0));
CRect rect;
GetClientRect(&rect);
CString s,s0;
int n0;
n0 = pDoc->s[0].FindOneOf ("-");
s0 = pDoc->s[0].Left (n0);
n0 = atoi(s0) - 1;
if(!pDoc->m_CMyLineList.IsEmpty())
{
CRect rect;
GetClientRect(&rect);
CString s;
CPen* pold = pDC->SelectObject(&pen);
pDC->SetBkColor(RGB(0,255,0));//青色
for(int i = pDoc->m_FirstBase; i <= rect.bottom; i+=pDoc->basline)
{
int n = pDoc->m_nCurChannel+1+(i - pDoc->m_FirstBase)/pDoc->basline;
if(n <= pDoc->Num_Line)
{
pDC->MoveTo(rect.left,i);
pDC->LineTo(rect.right, i);
s.Format("%d", n0+pDoc->m_nCurChannel+1+(i - pDoc->m_FirstBase)/pDoc->basline);
pDC->TextOut(rect.left+1, i+1,s);
}
}
pDC->SelectObject(pold);
}
pen.DeleteObject();
}
/////////////////////////////////////////////////////////////////////////////
// CView2 diagnostics
#ifdef _DEBUG
void CView2::AssertValid() const
{
CView::AssertValid();
}
void CView2::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CView2 message handlers
/*
int CView2::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
CCgeDoc* pDoc = (CCgeDoc* )GetDocument();
CDC* pDC = GetDC();
CBitmap m_Bitmap;
HBRUSH m_hBrush;
m_nMaxX = 20;
//m_nMaxX = pDoc->Num_Pointes;//GetSystemMetrics(SM_CXSCREEN);
m_nMaxY =2500;
//GetSystemMetrics(SM_CYSCREEN);
//创建显示DC的兼容内存DC
m_MemDC.CreateCompatibleDC(pDC);
// 创建显示内存位图
m_Bitmap.CreateCompatibleBitmap( pDC,
m_nMaxX,
m_nMaxY );
// 将设备和位图产生关联
CBitmap* pOldBitmap = m_MemDC.SelectObject( &m_Bitmap );
//设色为白色
m_hBrush = (HBRUSH) GetStockObject(WHITE_BRUSH);
SelectObject(m_MemDC,m_hBrush);
PatBlt(m_MemDC,0,0,m_nMaxX,m_nMaxY,PATCOPY);
return 0;
}
*/
/*
void CView2::DrawNo(CCgeDoc *pDoc, CDC *pDC)
{
CPen* pOldPen;
CPen NewPen;
int i,No;
CString sb;
char str_No[10];
CPoint fpoint;
i = pDoc->m_No.Find("-");
sb = pDoc->m_No.Left(i);
No = atoi(sb);
NewPen.CreatePen(PS_SOLID,1,RGB(255,0,0));
pOldPen = pDC->SelectObject(&NewPen);
pDC->SetBkColor (16776960);//(RGB(0,0,255));青色
for (i=0;i<pDoc->Num_Line;i++)
{ fpoint.x = 20;
fpoint.y = i*pDoc->basline+pDoc->m_viewY0;
pDC->MoveTo(0,fpoint.y);
itoa(No,str_No,10);
pDC->TextOut(0,fpoint.y,str_No);
pDC->LineTo(fpoint.x,fpoint.y);
No++;
}
pDC->SelectObject(pOldPen);
}
*/
void CView2::OnInitialUpdate()
{
CView::OnInitialUpdate();
//pen.CreatePen(PS_SOLID, 1, RGB(255,0,0));
CCgeDoc* pDoc = (CCgeDoc* )GetDocument();
pDoc->view2 =(CView2*) this;
}
BOOL CView2::DestroyWindow()
{
// pen.DeleteObject();
return CView::DestroyWindow();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -