?? displaydataview.cpp
字號(hào):
// DisplayDataView.cpp : implementation file
//
#include "stdafx.h"
#include "pdf417.h"
#include "DisplayDataView.h"
#include "pdf417Doc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDisplayDataView
IMPLEMENT_DYNCREATE(CDisplayDataView, CScrollView)
CDisplayDataView::CDisplayDataView()
{
//設(shè)置顯示字體
LOGFONT TTYFONT;
TTYFONT.lfHeight = 16;
TTYFONT.lfWidth = 9;
TTYFONT.lfEscapement = 0;
TTYFONT.lfOrientation = 0;
TTYFONT.lfWeight = FW_NORMAL;
TTYFONT.lfItalic = 0;
TTYFONT.lfUnderline = 0;
TTYFONT.lfStrikeOut = 0;
TTYFONT.lfCharSet = ANSI_CHARSET;
TTYFONT.lfOutPrecision = OUT_DEFAULT_PRECIS;
TTYFONT.lfClipPrecision = CLIP_DEFAULT_PRECIS;
TTYFONT.lfQuality = PROOF_QUALITY;
TTYFONT.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;
strcpy(TTYFONT.lfFaceName,"Courier");
TTYFONTOBJECT = ::CreateFontIndirect(&TTYFONT);
}
CDisplayDataView::~CDisplayDataView()
{
}
BEGIN_MESSAGE_MAP(CDisplayDataView, CScrollView)
//{{AFX_MSG_MAP(CDisplayDataView)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDisplayDataView drawing
void CDisplayDataView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CSize sizeTotal;
// TODO: calculate the total size of this view
sizeTotal.cx = 100;
sizeTotal.cy = 100;
SetScrollSizes(MM_TEXT, sizeTotal);
}
void CDisplayDataView::OnDraw(CDC* pDC)
{
CPdf417Doc* pDoc = (CPdf417Doc *)GetDocument();
if(!pDoc->m_filename.IsEmpty())
{
CSize size;
int yy=4*size.cy;
HFONT oldfont = (HFONT)pDC->SelectObject(TTYFONTOBJECT);
TEXTMETRIC tm;
pDC->GetTextMetrics( &tm ) ;
size.cx = tm.tmAveCharWidth ;
size.cy = tm.tmHeight + tm.tmExternalLeading ;
CString str;
str.Format("Filename: %s",pDoc->m_filename);
pDC->TextOut(0,0,str);
str.Format("Image Width: %d",pDoc->m_bmpwidth);
pDC->TextOut(0,size.cy,str);
str.Format("Image Height: %d",pDoc->m_bmpheight);
pDC->TextOut(0,size.cy*2,str);
str.Format("Image BitsPixel: %d",pDoc->m_bmpBitsPixel);
pDC->TextOut(0,size.cy*3,str);
if(pDoc->m_data.GetLength()>0)
{
pDC->TextOut(0,size.cy*4,"DATA:",5);
char str1[10];
int len=pDoc->m_data.GetLength();
yy=4*size.cy;
for(int i=0;i<len;i++)
{
if(i%16==0) yy+=size.cy;
UCHAR tmp = pDoc->m_data[i];
sprintf(str1,tmp<0x10?"0%x":"%x",tmp);
pDC->TextOut(((i%16)*3+6)*size.cx,yy,str1,2);
str1[0]=pDoc->m_data[i];
pDC->TextOut(((i%16)+56)*size.cx,yy,str1,1);
}
CString str2;
yy+=size.cy;
pDC->TextOut(0,yy,"-------------------------------------------------------------------------",
strlen("-------------------------------------------------------------------------"));
yy+=size.cy;
pDC->TextOut(6*size.cx,yy,"Bar Code:",strlen("Bar Code:"));
for(int h=0;h<pDoc->Height;h++)
{
yy+=size.cy;
str2.Format("%3d.",h+1);
pDC->TextOut(8*size.cx,yy,str2);
for(int w=0;w<pDoc->Width;w++)
{
str2.Format("%3d",pDoc->m_middata[h*pDoc->Width+w]);
pDC->TextOut((w*4+15)*size.cx,yy,str2);
}
}
}
pDC->SelectObject(oldfont);
//設(shè)置View的滾動(dòng)條范圍
CSize sizeTotal;
sizeTotal.cx = 76*size.cx;
sizeTotal.cy = yy+size.cy;
SetScrollSizes(MM_TEXT,sizeTotal);
}
}
/////////////////////////////////////////////////////////////////////////////
// CDisplayDataView diagnostics
#ifdef _DEBUG
void CDisplayDataView::AssertValid() const
{
CScrollView::AssertValid();
}
void CDisplayDataView::Dump(CDumpContext& dc) const
{
CScrollView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CDisplayDataView message handlers
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -