329 lines
10 KiB
C++
329 lines
10 KiB
C++
// DLG_Corp_PayToUser_Print.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "smsmanager.h"
|
|
#include "DLG_Corp_PayToUser_Print.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// DLG_Corp_PayToUser_Print dialog
|
|
|
|
|
|
DLG_Corp_PayToUser_Print::DLG_Corp_PayToUser_Print(CWnd* pParent /*=NULL*/)
|
|
: CDialog(DLG_Corp_PayToUser_Print::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(DLG_Corp_PayToUser_Print)
|
|
// NOTE: the ClassWizard will add member initialization here
|
|
//}}AFX_DATA_INIT
|
|
|
|
memset(&m_PayData,0,sizeof(m_PayData));
|
|
}
|
|
|
|
|
|
void DLG_Corp_PayToUser_Print::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(DLG_Corp_PayToUser_Print)
|
|
// NOTE: the ClassWizard will add DDX and DDV calls here
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(DLG_Corp_PayToUser_Print, CDialog)
|
|
//{{AFX_MSG_MAP(DLG_Corp_PayToUser_Print)
|
|
ON_WM_TIMER()
|
|
ON_BN_CLICKED(IDC_CORP_LXRPRINT_SF, OnCorpLxrprintSf)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// DLG_Corp_PayToUser_Print message handlers
|
|
|
|
void DLG_Corp_PayToUser_Print::SetParam(ANS_PayToUserData *pPayData)
|
|
{
|
|
|
|
m_PayData = *pPayData;
|
|
}
|
|
|
|
BOOL DLG_Corp_PayToUser_Print::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
SetTimer(1 , 100 , NULL );
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void DLG_Corp_PayToUser_Print::OnTimer(UINT_PTR nIDEvent)
|
|
{
|
|
CDialog::OnTimer(nIDEvent);
|
|
if ( nIDEvent ==1 )
|
|
{
|
|
KillTimer(nIDEvent);
|
|
OnCorpLxrprintSf();
|
|
|
|
}
|
|
}
|
|
|
|
void DLG_Corp_PayToUser_Print::OnCorpLxrprintSf()
|
|
{
|
|
try
|
|
{
|
|
//#ifdef _DEBUG
|
|
//Ô¤ÀÀ
|
|
CPrnFrame * PrnFrame = new CPrnFrame(On_Print2,On_BeginPrint2,OnPreparePrinting2,this,this,false);
|
|
PrnFrame->ShowWindow(SW_SHOW);
|
|
PrnFrame->UpdateWindow();
|
|
//#else
|
|
//´òÓ¡
|
|
// CPrnFrame * PrnFrame = new CPrnFrame(On_Print2,On_BeginPrint2,OnPreparePrinting2,this,this,true);
|
|
//#endif
|
|
}
|
|
catch( ...)
|
|
{
|
|
AfxMessageBox( _T("print error") );
|
|
}
|
|
|
|
}
|
|
|
|
RECT DLG_Corp_PayToUser_Print::MakeRect(long x, long y, long w, long h)
|
|
{
|
|
RECT rect={x,y,x+w,y+h};
|
|
return rect;
|
|
}
|
|
|
|
void DLG_Corp_PayToUser_Print::On_BeginPrint2(CDC *pDC, CPrintInfo *pInfo, void *pVoid)
|
|
{
|
|
|
|
}
|
|
|
|
void DLG_Corp_PayToUser_Print::On_Print2(CDC *pDC, CPrintInfo *pInfo, void *pVoid)
|
|
{
|
|
DLG_Corp_PayToUser_Print * pDlg = (DLG_Corp_PayToUser_Print *)pVoid;
|
|
|
|
|
|
CFont font,fontb,fontm,fontm2,*oldfont;
|
|
CPoint point;
|
|
int nWidth=pDC->GetDeviceCaps(HORZRES);
|
|
int nHeight=pDC->GetDeviceCaps(VERTRES);
|
|
int xLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSX);
|
|
int yLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSY);
|
|
float xmm = ((float)xLogPixPerInch/24.5f);
|
|
float ymm = ((float)yLogPixPerInch/24.5f);
|
|
|
|
font.CreateFont(-MulDiv(12,-pDC->GetDeviceCaps(LOGPIXELSY),72),
|
|
0,0,0,FW_NORMAL,0,0,0,GB2312_CHARSET,
|
|
OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,
|
|
VARIABLE_PITCH|FF_SWISS,_T("ËÎÌå"));
|
|
|
|
fontb.CreateFont(-MulDiv(24,-pDC->GetDeviceCaps(LOGPIXELSY),72),
|
|
0,0,0,FW_NORMAL,0,0,0,GB2312_CHARSET,
|
|
OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,
|
|
VARIABLE_PITCH|FF_SWISS,_T("ËÎÌå"));
|
|
|
|
float lxAdd=20.0f;
|
|
float lyAdd=15.0f;
|
|
|
|
float fWidth1 =30.0f;
|
|
float fWidth =160.0f;
|
|
float fHeight =8.0f;
|
|
|
|
int iRow = 10;
|
|
|
|
long x=0,y=0,w=0,h=0;
|
|
long x2=0,y2=0,w2=0,h2=0;
|
|
CString str;
|
|
|
|
oldfont=pDC->SelectObject(&fontb);
|
|
//´òÓ¡¿ìµÝµ¥
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
//±êÌâ
|
|
pDC->DrawText(_T("¸¶¿îƾ֤") ,&pDlg->MakeRect(x,y,w,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
|
|
lyAdd = lyAdd + 14.0f;
|
|
//»¸ñ×Ó
|
|
for ( int i=0 ; i<iRow+1 ; i++ )
|
|
{
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*(float)i))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->MoveTo(x,y);
|
|
pDC->LineTo(x+w,y);
|
|
}
|
|
//»¸ñ×Ó
|
|
for ( i=0 ; i<3 ; i++ )
|
|
{
|
|
switch(i)
|
|
{
|
|
case 0:
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
break;
|
|
case 1:
|
|
x=(long)(((float)(lxAdd+fWidth1))*xmm+0.5f);
|
|
break;
|
|
case 2:
|
|
x=(long)(((float)(lxAdd+fWidth))*xmm+0.5f);
|
|
break;
|
|
}
|
|
y=(long)(((float)(lyAdd))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight*(float)(iRow)))*ymm+0.5f);
|
|
pDC->MoveTo(x,y);
|
|
pDC->LineTo(x,y+h);
|
|
}
|
|
|
|
float fRow=0.0f;
|
|
oldfont=pDC->SelectObject(&font);
|
|
|
|
//ƾ֤ºÅ
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*fRow))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth1))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->DrawText(_T("ƾ֤ºÅ") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
x=(long)(((float)(lxAdd+fWidth1))*xmm+0.5f);
|
|
w=(long)(((float)(fWidth-fWidth1))*xmm+0.5f);
|
|
str.Format( _T("%d") , pDlg->m_PayData.lPayID);
|
|
pDC->DrawText(str ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_LEFT|DT_VCENTER|DT_SINGLELINE);
|
|
|
|
//¸¶¿îÀàÐÍ
|
|
fRow++;
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*fRow))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth1))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->DrawText(_T("¸¶¿îÀàÐÍ") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
x=(long)(((float)(lxAdd+fWidth1))*xmm+0.5f);
|
|
w=(long)(((float)(fWidth-fWidth1))*xmm+0.5f);
|
|
if ( pDlg->m_PayData.lPayType==0 )
|
|
{
|
|
pDC->DrawText(_T("´úÀíÉ̳ê½ð") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_LEFT|DT_VCENTER|DT_SINGLELINE);
|
|
}
|
|
if ( pDlg->m_PayData.lPayType==1 )
|
|
{
|
|
if ( pDlg->m_PayData.lUserType==1 )
|
|
pDC->DrawText(_T("´úÀíÉÌÍË¿î") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_LEFT|DT_VCENTER|DT_SINGLELINE);
|
|
else
|
|
if ( pDlg->m_PayData.lUserType==10 )
|
|
pDC->DrawText(_T("ADCÍË¿î") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_LEFT|DT_VCENTER|DT_SINGLELINE);
|
|
else
|
|
pDC->DrawText(_T("ÖÕ¶ËÓû§ÍË¿î") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_LEFT|DT_VCENTER|DT_SINGLELINE);
|
|
}
|
|
//ÆóÒµÃû³Æ
|
|
fRow++;
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*fRow))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth1))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->DrawText(_T("ÆóÒµÃû³Æ") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
x=(long)(((float)(lxAdd+fWidth1))*xmm+0.5f);
|
|
w=(long)(((float)(fWidth-fWidth1))*xmm+0.5f);
|
|
str.Format( _T("%s (ID:%d)") , pDlg->m_PayData.szCorpName , pDlg->m_PayData.lCorpID );
|
|
pDC->DrawText(str ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_LEFT|DT_VCENTER|DT_SINGLELINE);
|
|
|
|
//¸¶¿î½ð¶î
|
|
fRow++;
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*fRow))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth1))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->DrawText(_T("¸¶¿î½ð¶î") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
x=(long)(((float)(lxAdd+fWidth1))*xmm+0.5f);
|
|
w=(long)(((float)(fWidth-fWidth1))*xmm+0.5f);
|
|
str.Format( _T("£¤%.2f (ÌõÊý:%d ¡Á µ¥¼Û:%.4f)") , (float)pDlg->m_PayData.fPrice , pDlg->m_PayData.lSmsCount , pDlg->m_PayData.fPriceOne );
|
|
pDC->DrawText(str ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_LEFT|DT_VCENTER|DT_SINGLELINE);
|
|
//³öµ¥Ê±¼ä
|
|
fRow++;
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*fRow))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth1))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->DrawText(_T("³öµ¥Ê±¼ä") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
x=(long)(((float)(lxAdd+fWidth1))*xmm+0.5f);
|
|
w=(long)(((float)(fWidth-fWidth1))*xmm+0.5f);
|
|
str.Format( _T("%04dÄê%02dÔÂ%02dÈÕ") , pDlg->m_PayData.tCD.wYear,pDlg->m_PayData.tCD.wMonth,pDlg->m_PayData.tCD.wDay );
|
|
pDC->DrawText(str ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_LEFT|DT_VCENTER|DT_SINGLELINE);
|
|
|
|
//³öµ¥ÈË
|
|
fRow++;
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*fRow))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth1))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->DrawText(_T("³öµ¥Óû§") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
x=(long)(((float)(lxAdd+fWidth1))*xmm+0.5f);
|
|
w=(long)(((float)(fWidth-fWidth1))*xmm+0.5f);
|
|
str.Format( _T("%s Ç©Ãû£º"), pDlg->m_PayData.szCD_User );
|
|
pDC->DrawText(str ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_LEFT|DT_VCENTER|DT_SINGLELINE);
|
|
|
|
//Åú×¼ÈËÇ©Ãû
|
|
fRow++;
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*fRow))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth1))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->DrawText(_T("Åú×¼ÈËÇ©Ãû") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
|
|
//¸¶¿îʱ¼ä
|
|
fRow++;
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*fRow))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth1))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->DrawText(_T("¸¶¿îʱ¼ä") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
|
|
//ʵ¸¶½ð¶î
|
|
fRow++;
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*fRow))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth1))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->DrawText(_T("ʵ¸¶½ð¶î") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
x=(long)(((float)(lxAdd+fWidth1))*xmm+0.5f);
|
|
w=(long)(((float)(fWidth-fWidth1))*xmm+0.5f);
|
|
str= _T("£¤ Íò Ǫ °Û Ê® Ôª ½Ç ·Ö");
|
|
pDC->DrawText(str ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_LEFT|DT_VCENTER|DT_SINGLELINE);
|
|
|
|
//³öÄÉÇ©Ãû
|
|
fRow++;
|
|
x=(long)(((float)(lxAdd))*xmm+0.5f);
|
|
y=(long)(((float)(lyAdd+fHeight*fRow))*ymm+0.5f);
|
|
w=(long)(((float)(fWidth1))*xmm+0.5f);
|
|
h=(long)(((float)(fHeight))*ymm+0.5f);
|
|
pDC->DrawText(_T("³öÄÉÇ©Ãû") ,&pDlg->MakeRect(x+xmm,y,w-xmm*2,h),DT_CENTER|DT_VCENTER|DT_SINGLELINE);
|
|
|
|
|
|
pDC->SelectObject(oldfont);
|
|
font.DeleteObject();
|
|
fontb.DeleteObject();
|
|
}
|
|
|
|
void DLG_Corp_PayToUser_Print::OnPreparePrinting2(CPrintInfo *pInfo)
|
|
{
|
|
pInfo->SetMaxPage(1); //Ö»ÓÐ1Ò³
|
|
/*
|
|
//ÉèºáÏò
|
|
CWinApp* pApp = AfxGetApp();
|
|
pApp->GetPrinterDeviceDefaults(&pInfo->m_pPD->m_pd);
|
|
if ( pInfo )
|
|
{
|
|
LPDEVMODE lpDevmode = pInfo->m_pPD->GetDevMode();
|
|
if ( lpDevmode )
|
|
{
|
|
lpDevmode->dmOrientation = DMORIENT_LANDSCAPE;
|
|
}
|
|
}
|
|
*/
|
|
|
|
}
|