📄 scoolwritedlg.cpp
字号:
// ScoolWriteDlg.cpp : implementation file
//
#include "stdafx.h"
#include "SJWF.h"
#include "ScoolWriteDlg.h"
#include "sjwfset.h"
#include "sjwfdoc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CScoolWriteDlg dialog
CStringArray m_stringArray;
CScoolWriteDlg::CScoolWriteDlg(CWnd* pParent /*=NULL*/)
: CDialog(CScoolWriteDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CScoolWriteDlg)
m_strJszh = _T("");
m_strMc = _T("");
m_strFzr = _T("");
m_strbxlx = _T("");
m_strPzwh = _T("");
m_stryxq = _T("");
m_nHlhb = 1;
m_strDz = _T("");
m_strDay = 0;
m_nYear = 0;
m_nMonth = 0;
//}}AFX_DATA_INIT
}
void CScoolWriteDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CScoolWriteDlg)
DDX_Text(pDX, IDC_EDIT1, m_strJszh);
DDV_MaxChars(pDX, m_strJszh, 13);
DDX_Text(pDX, IDC_EDIT2, m_strMc);
DDX_Text(pDX, IDC_EDIT3, m_strFzr);
DDX_Text(pDX, IDC_EDIT4, m_strbxlx);
DDX_Text(pDX, IDC_EDIT5, m_strPzwh);
DDX_Text(pDX, IDC_EDIT6, m_stryxq);
DDX_Radio(pDX, IDC_RADIO1, m_nHlhb);
DDX_Text(pDX, IDC_EDIT7, m_strDz);
DDX_Text(pDX, IDC_EDIT10, m_strDay);
DDX_Text(pDX, IDC_EDIT8, m_nYear);
DDX_Text(pDX, IDC_EDIT9, m_nMonth);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CScoolWriteDlg, CDialog)
//{{AFX_MSG_MAP(CScoolWriteDlg)
ON_BN_CLICKED(IDC_RECORDSAVE, OnRecordsave)
ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
ON_WM_PAINT()
ON_BN_CLICKED(IDC_BUTTON4, OnDelete)
ON_BN_CLICKED(IDC_BUTTON3, OnQuery)
ON_BN_CLICKED(IDC_BUTTON6, OnReturn1)
ON_BN_CLICKED(IDC_BUTTON5, OnPrintFu)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CScoolWriteDlg message handlers
void CScoolWriteDlg::OnRecordsave()
{
BOOL bSuccess;
UpdateData(TRUE);
CSJWFSet a;
int m_check;
int choice=CDialog::GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO2);
if(choice==IDC_RADIO1)
m_check=1;
else
m_check=0;
bSuccess=a.AddRecord(m_strJszh,m_strMc,m_strDz,m_strFzr,m_strbxlx,m_strPzwh,m_stryxq,m_nHlhb);
if(bSuccess==TRUE)
AfxMessageBox("你已经成功的添加了一条记录!");
UpdateData(FALSE);
}
void CScoolWriteDlg::OnRadio1()
{
// TODO: Add your control notification handler code here
m_nHlhb=1;
}
void CScoolWriteDlg::OnRadio2()
{
m_nHlhb=-1;
}
void CScoolWriteDlg::OnButton2()
{
int i;
i=AfxMessageBox("请确认你已保存然后打印!",MB_YESNO);
if(i==IDNO)
return;
else
{
CTime time=CTime::GetCurrentTime();//得到当前时间
CString s=time.Format("%y %m %d");//转换时间格式
UpdateData(TRUE);
CString szContents,szContents1,szContents2,szContents3,szContents4,szContents5,szContents6;
GetDlgItemText( IDC_EDIT1, szContents );
GetDlgItemText( IDC_EDIT2, szContents1 );
GetDlgItemText( IDC_EDIT7, szContents6 );
GetDlgItemText( IDC_EDIT3, szContents2 );
GetDlgItemText( IDC_EDIT4, szContents3 );
GetDlgItemText( IDC_EDIT5, szContents4 );
GetDlgItemText( IDC_EDIT6, szContents5 );
HDC hdcPrn ;
HDC hDC,hDC1;
CPrintDialog *printDlg =
new CPrintDialog(FALSE, PD_ALLPAGES | PD_RETURNDC, NULL);
printDlg->m_pd.nMinPage = printDlg->m_pd.nMaxPage = 1;
printDlg->m_pd.nFromPage = printDlg->m_pd.nToPage = 1;
printDlg->DoModal();
hdcPrn = printDlg->GetPrinterDC();
hDC=printDlg->GetPrinterDC();
hDC1=printDlg->GetPrinterDC();
if (hdcPrn != NULL)
{
CDC *pDC = new CDC;
pDC->Attach (hdcPrn);
pDC->StartDoc("My Printer Dialog");
pDC->StartPage();
HFONT hFont1=ShowFont(hDC1,"宋体",200,160);
HFONT hOldFont1=(HFONT)::SelectObject(hDC1,hFont1);
pDC->TextOut(5500, 2000, szContents);
::SelectObject(hDC1,hOldFont1);
HFONT hFont=ShowFont(hDC,"宋体",200,160);
HFONT hOldFont=(HFONT)::SelectObject(hDC,hFont);
pDC->TextOut(3000,2400,szContents1 );
pDC->TextOut(3000,2850, szContents6);
pDC->TextOut(3000,3300,szContents2 );
pDC->TextOut(3000,3750, szContents3);
pDC->TextOut(3000,4200, szContents4);
pDC->TextOut(3000,4650, szContents5);
::SelectObject(hDC,hOldFont);
HFONT hOldFont2=(HFONT)::SelectObject(hDC1,hFont1);
pDC->TextOut(5000,5800,s);
::SelectObject(hDC1,hOldFont2);
pDC->EndPage();
pDC->EndDoc();
pDC->Detach();
delete pDC;
}
delete printDlg;
}
}
void CScoolWriteDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages
}
BOOL CScoolWriteDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
// CButton*pButton=(CButton*)GetDlgItem(IDC_BUTTON2);
// pButton->GetState();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CScoolWriteDlg::SetPrinterSettings(CDC *pDC, HDC hdcPrn)
{
short cxPage, cyPage;
cxPage = ::GetDeviceCaps (hdcPrn, HORZRES) ;
cyPage = ::GetDeviceCaps (hdcPrn, VERTRES) ;
pDC->SetMapMode (MM_ANISOTROPIC) ;
pDC->SetWindowExt ( 1000, 1000) ;
pDC->SetViewportExt (cxPage / 2, -cyPage / 2) ;
pDC->SetViewportOrg (cxPage / 2, cyPage / 2) ;
pDC->SetTextAlign (20) ;
}
HFONT CScoolWriteDlg::ShowFont(HDC pDC, LPCTSTR fontstyle, int fontheight, int fontweight)
{
LOGFONT lf;
lf.lfCharSet=GB2312_CHARSET;
lf.lfClipPrecision=CLIP_DEFAULT_PRECIS;
lf.lfEscapement=0;
strcpy(lf.lfFaceName,fontstyle); //字体样式
lf.lfHeight=fontheight; //字体高度
lf.lfItalic=FALSE;
lf.lfOrientation=0;
lf.lfOutPrecision=OUT_DEFAULT_PRECIS;
lf.lfPitchAndFamily=FF_DONTCARE | DEFAULT_PITCH;
lf.lfQuality=DEFAULT_QUALITY;
lf.lfStrikeOut= FALSE;
lf.lfUnderline=FALSE;
lf.lfWeight=fontweight;//字体重量
lf.lfWidth=0;
HFONT hFont=::CreateFontIndirect(&lf);
return hFont;
}
void CScoolWriteDlg::OnDelete()
{
int n;
// BOOL bFind;
CSJWFSet rsJW;
n=MessageBox("你确定要删除这条记录吗?","提示",MB_YESNO);
UpdateData(TRUE);
CString strSQL;
if(n==IDYES)
{
strSQL= _T("select * from bxxk where jszh= '"+this->m_strJszh+"'");
try
{
if(rsJW.IsOpen())
{
rsJW.Close();
}
rsJW.Open(CRecordset::dynaset,strSQL);
if (rsJW.IsBOF())
{
MessageBox("没有符合条件的教社证号!","提示",MB_OK);
return;
}
else
{
if(rsJW.m_jszh==m_strJszh)
rsJW.Delete();
}
}
catch(CDBException &e)
{
MessageBox(e.m_strError,"提示",MB_OK);
}
}
else
return;
}
void CScoolWriteDlg::OnQuery()
{
UpdateData(TRUE);
CString strSQL;
strSQL= _T("select * from bxxk where jszh= '"+this->m_strJszh+"'");
//+"or mc='"+this->m_strMc+"'"
CSJWFSet rsJszh;
try
{
if(rsJszh.IsOpen())
{
rsJszh.Close();
}
rsJszh.Open(CRecordset::dynaset,strSQL);
if (rsJszh.IsBOF())
{
MessageBox("没有符合条件的教社证号!","提示",MB_OK);
return;
}
else
{
this->SetDlgItemText( IDC_EDIT1, rsJszh.m_jszh );
this->SetDlgItemText( IDC_EDIT2, rsJszh.m_mc );
this->SetDlgItemText( IDC_EDIT7, rsJszh.m_dz );
this->SetDlgItemText( IDC_EDIT3, rsJszh.m_fzr );
this->SetDlgItemText( IDC_EDIT4, rsJszh.m_bxlx );
this->SetDlgItemText( IDC_EDIT5, rsJszh.m_pzwh );
this->SetDlgItemText( IDC_EDIT6, rsJszh.m_yxq );
}
}
catch(CDBException &e)
{
MessageBox(e.m_strError,"提示",MB_OK);
}
}
void CScoolWriteDlg::OnReturn1()
{
EndDialog(0);
}
void CScoolWriteDlg::OnPrintFu()
{
CTime time=CTime::GetCurrentTime();//得到当前时间
CString s=time.Format("%y %m %d");//转换时间格式
UpdateData(TRUE);
CString szContents,szContents1,szContents2,szContents3,szContents4,szContents5,szContents6;
GetDlgItemText( IDC_EDIT1, szContents );
GetDlgItemText( IDC_EDIT2, szContents1 );
GetDlgItemText( IDC_EDIT7, szContents6 );
GetDlgItemText( IDC_EDIT3, szContents2 );
GetDlgItemText( IDC_EDIT4, szContents3 );
GetDlgItemText( IDC_EDIT5, szContents4 );
GetDlgItemText( IDC_EDIT6, szContents5 );
HDC hdcPrn ;
HDC hDC,hDC1;
CPrintDialog *printDlg =
new CPrintDialog(FALSE, PD_ALLPAGES | PD_RETURNDC, NULL);
printDlg->m_pd.nMinPage = printDlg->m_pd.nMaxPage = 1;
printDlg->m_pd.nFromPage = printDlg->m_pd.nToPage = 1;
printDlg->DoModal();
hdcPrn = printDlg->GetPrinterDC();
hDC=printDlg->GetPrinterDC();
hDC1=printDlg->GetPrinterDC();
if (hdcPrn != NULL)
{
CDC *pDC = new CDC;
pDC->Attach (hdcPrn);
pDC->StartDoc("My Printer Dialog");
pDC->StartPage();
HFONT hFont1=ShowFont(hDC1,"宋体",210,175);
HFONT hOldFont1=(HFONT)::SelectObject(hDC1,hFont1);
pDC->TextOut(1775, 1720, szContents);
::SelectObject(hDC1,hOldFont1);
HFONT hFont=ShowFont(hDC,"宋体",150,150);
HFONT hOldFont=(HFONT)::SelectObject(hDC,hFont);
pDC->TextOut(1280,2220,szContents1 );
pDC->TextOut(1280,2520, szContents6);
pDC->TextOut(1280,3000,szContents2 );
pDC->TextOut(1280,3300, szContents3);
pDC->TextOut(1280,3600, szContents4);
pDC->TextOut(1280,3900, szContents5);
::SelectObject(hDC,hOldFont);
HFONT hOldFont2=(HFONT)::SelectObject(hDC1,hFont1);
pDC->TextOut(1750,5000,s);
::SelectObject(hDC1,hOldFont2);
pDC->EndPage();
pDC->EndDoc();
pDC->Detach();
delete pDC;
}
delete printDlg;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -