📄 htqdview.cpp
字号:
// htqdView.cpp : implementation of the CHtqdView class
//
#include "stdafx.h"
#include "htglxt.h"
#include "MyDoc.h"
#include "htqdView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CHtqdView
IMPLEMENT_DYNCREATE(CHtqdView, CScrollView)
BEGIN_MESSAGE_MAP(CHtqdView, CScrollView)
//{{AFX_MSG_MAP(CHtqdView)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
// Standard printing commands
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()
/////////////////////////////////////////////////////////////////////////////
// CHtqdView construction/destruction
CHtqdView::CHtqdView()
{
// TODO: add construction code here
}
CHtqdView::~CHtqdView()
{
}
BOOL CHtqdView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CScrollView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CHtqdView drawing
void CHtqdView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
Print(0.378, 0.2,pDC);
}
void CHtqdView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CDC * pDC;
pDC=this->GetDC();
memDC.CreateCompatibleDC(pDC);
bmp.LoadBitmap(IDB_HTQDVIEW);
memDC.SelectObject(&bmp);
BITMAP bits;
bmp.GetBitmap(&bits);
CSize sizeTotal;
// TODO: calculate the total size of this view
sizeTotal.cx =bits.bmWidth-100;
sizeTotal.cy=bits.bmHeight+100;
SetScrollSizes(MM_TEXT, sizeTotal);
CString sSQL;
RxRecordset drst;
sSQL.Format("SELECT * FROM 合同签订视图 WHERE 编号='%s'",PrintID);
drst.Open(sSQL,adCmdText);
if(drst.GetRecordCount()<1)
return;
sBH=drst.GetFieldValue("编号");
sBM=drst.GetFieldValue("部门");
sXM=drst.GetFieldValue("项目");
sHTBH=drst.GetFieldValue("合同包号");
sJFMC=drst.GetFieldValue("甲方名称");
sJFDH=drst.GetFieldValue("甲方电话");
sJFCZ=drst.GetFieldValue("甲方传真");
sXXDZ=drst.GetFieldValue("详细地址");
sKHYH=drst.GetFieldValue("开户银行");
sYB=drst.GetFieldValue("邮编");
sHJJE=drst.GetFieldValue("合计金额");
sQDRQ=drst.GetFieldValue("签订日期");
sYSFS=drst.GetFieldValue("运输方式");
sBZBF=drst.GetFieldValue("包装办法");
sJSFS=drst.GetFieldValue("结算方式");
sJFDB=drst.GetFieldValue("甲方代表");
sYFDB=drst.GetFieldValue("乙方代表");
sJHDD=drst.GetFieldValue("交货地点");
sXXXX=drst.GetFieldValue("详细信息");
sBZ=drst.GetFieldValue("备注");
}
/////////////////////////////////////////////////////////////////////////////
// CHtqdView printing
BOOL CHtqdView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CHtqdView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
LPDEVMODE mode;
mode=pInfo->m_pPD->GetDevMode();
int xPix=pDC->GetDeviceCaps(HORZRES);
int yPix=pDC->GetDeviceCaps(VERTRES);
Ratio.x=(float)xPix/(float)mode->dmPaperWidth;
Ratio.y=(float)yPix/(float)mode->dmPaperLength;
}
void CHtqdView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CHtqdView diagnostics
#ifdef _DEBUG
void CHtqdView::AssertValid() const
{
CScrollView::AssertValid();
}
void CHtqdView::Dump(CDumpContext& dc) const
{
CScrollView::Dump(dc);
}
CMyDoc* CHtqdView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
return (CMyDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CHtqdView message handlers
BOOL CHtqdView::DestroyWindow()
{
memDC.DeleteDC();
bmp.DeleteObject();
return CScrollView::DestroyWindow();
}
void CHtqdView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
Print(Ratio.x, Ratio.y,pDC);
}
void CHtqdView::Print(float x, float y,CDC *pDC)
{
int xPix=pDC->GetDeviceCaps(HORZRES);
int yPix=pDC->GetDeviceCaps(VERTRES);
BITMAP bitstruct;
bmp.GetBitmap(&bitstruct);
pDC->SetMapMode(MM_TEXT);
CRect rect(0,0,xPix,yPix);
//变比载入图片
pDC->StretchBlt(xPix/15,yPix/15,xPix-2*(xPix/15),yPix-2*(yPix/15),&memDC,0,0,bitstruct.bmWidth,bitstruct.bmHeight,SRCCOPY);
pDC->TextOut(320*x,480*y,sBH);
pDC->TextOut(740*x,480*y,sBM);
pDC->TextOut(1160*x,480*y,sXM);
pDC->TextOut(1640*x,480*y,sHTBH);
pDC->TextOut(320*x,600*y,sJFMC);
pDC->TextOut(320*x,720*y,sJFDH);
pDC->TextOut(930*x,720*y,sJFCZ);
pDC->TextOut(1600*x,720*y,sKHYH);
pDC->TextOut(320*x,845*y,sXXDZ);
pDC->TextOut(1270*x,845*y,sYB);
pDC->TextOut(1680*x,845*y,sHJJE);
pDC->TextOut(320*x,965*y,sQDRQ);
pDC->TextOut(800*x,965*y,sYSFS);
pDC->TextOut(1220*x,965*y,sBZBF);
pDC->TextOut(1700*x,965*y,sJSFS);
pDC->TextOut(320*x,1080*y,sJFDB);
pDC->TextOut(640*x,1080*y,sYFDB);
pDC->TextOut(1000*x,1080*y,sJHDD);
rect=CRect(200*x,1280*y,xPix-(200*x),1950*y );
pDC->DrawText(sXXXX,&rect,DT_WORDBREAK);
rect=CRect(200*x,2090*y,xPix-(200*x),2700*y );
pDC->DrawText(sBZ,&rect,DT_WORDBREAK);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -