📄 printset.cpp
字号:
// PrintSet.cpp : implementation file
//
#include "stdafx.h"
#include "IPCount.h"
#include "PrintSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include "SysSetUp.h"
/////////////////////////////////////////////////////////////////////////////
// CPrintSet dialog
CPrintSet::CPrintSet(CWnd* pParent /*=NULL*/)
: CDialog(CPrintSet::IDD, pParent)
{
//{{AFX_DATA_INIT(CPrintSet)
m_CoLtd = _T("");
m_bCheckPrintOne = FALSE;
m_strUpSpace = _T("");
//}}AFX_DATA_INIT
strKey="";
nRow=nCol=-1;
}
void CPrintSet::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPrintSet)
DDX_Text(pDX, IDC_EDIT_COLTD, m_CoLtd);
DDX_Control(pDX, IDC_MSFLEXGRID_PRINT_SET, m_PrintGrid);
DDX_Check(pDX, IDC_CHECK_ONE, m_bCheckPrintOne);
DDX_Text(pDX, IDC_EDIT1, m_strUpSpace);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPrintSet, CDialog)
//{{AFX_MSG_MAP(CPrintSet)
ON_BN_CLICKED(IDC_BUTTON_SAVE, OnSavePrintInfo)
ON_BN_CLICKED(IDC_CHECK_ONE, OnCheckOne)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPrintSet message handlers
void CPrintSet::OnSavePrintInfo()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CFile pFile;
//获得文件的当前路径
TCHAR pFileName[MAX_PATH];
GetModuleFileName(NULL,pFileName,MAX_PATH);
if(strchr(pFileName,'\\'))
*strrchr(pFileName,'\\')='\0';
strcat(pFileName,"\\PrintSet.DAT");
if (pFile.Open(pFileName, CFile::modeCreate|CFile::modeWrite))
{
pFile.Write((LPCTSTR)m_CoLtd,30);
pFile.Close();
}
CSysSetUp *lcdlg;
lcdlg=(CSysSetUp *)GetParent();
lcdlg->SetUpSpace(m_strUpSpace);
WriteToFile();
CDialog::OnCancel();
}
BOOL CPrintSet::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_PrintGrid.SetTextArray(0,"行号");
m_PrintGrid.SetTextArray(1,"第一栏宽");
m_PrintGrid.SetTextArray(2,"第二栏宽");
m_PrintGrid.SetTextArray(3,"第三栏宽");
m_PrintGrid.SetTextArray(4,"第四栏宽");
m_PrintGrid.SetTextArray(5,"中缝宽");
m_PrintGrid.SetTextArray(6,"第五栏宽");
m_PrintGrid.SetTextArray(7,"第六栏宽");
m_PrintGrid.SetTextArray(8,"第七栏宽");
m_PrintGrid.SetTextArray(9,"第八栏宽");
m_PrintGrid.SetTextMatrix(1,0,"第一行");
m_PrintGrid.SetTextMatrix(2,0,"第二行");
m_PrintGrid.SetTextMatrix(3,0,"第三行");
m_PrintGrid.SetTextMatrix(4,0,"第四行");
m_PrintGrid.SetTextMatrix(5,0,"第五行");
m_PrintGrid.SetTextMatrix(6,0,"第六行");
char szSaveInfo[30];
memset(szSaveInfo,0,30);
CFile pFile;
//获得文件的当前路径
TCHAR pFileName[MAX_PATH];
GetModuleFileName(NULL,pFileName,MAX_PATH);
if(strchr(pFileName,'\\'))
*strrchr(pFileName,'\\')='\0';
strcat(pFileName,"\\PrintSet.DAT");
if (pFile.Open(pFileName, CFile::modeRead))
{
pFile.Read(szSaveInfo,30);
m_CoLtd=szSaveInfo;
pFile.Close();
}
CSysSetUp *lcdlg;
lcdlg=(CSysSetUp *)GetParent();
if(lcdlg->GetPrintOneFlag()==1)
{
m_bCheckPrintOne=TRUE;
}
m_strUpSpace=lcdlg->GetUpSpace();
lcdlg->ReadFromFile();
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BEGIN_EVENTSINK_MAP(CPrintSet, CDialog)
//{{AFX_EVENTSINK_MAP(CPrintSet)
ON_EVENT(CPrintSet, IDC_MSFLEXGRID_PRINT_SET, -601 /* DblClick */, OnDblClickMsflexgridPrintSet, VTS_NONE)
ON_EVENT(CPrintSet, IDC_MSFLEXGRID_PRINT_SET, -603 /* KeyPress */, OnKeyPressMsflexgridPrintSet, VTS_PI2)
ON_EVENT(CPrintSet, IDC_MSFLEXGRID_PRINT_SET, -600 /* Click */, OnClickMsflexgridPrintSet, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CPrintSet::OnDblClickMsflexgridPrintSet()
{
// TODO: Add your control notification handler code here
strKey="";
nRow=m_PrintGrid.GetRow();
nCol=m_PrintGrid.GetCol();
m_PrintGrid.SetCellBackColor(RGB(0,128,128));
}
void CPrintSet::OnKeyPressMsflexgridPrintSet(short FAR* KeyAscii)
{
// TODO: Add your control notification handler code here
CString strTempKey=(TCHAR *) KeyAscii;
if((strTempKey>='0')&&(strTempKey<='9'))
{
strKey=strKey+strTempKey;
if(nRow<0)
return;
m_PrintGrid.SetTextMatrix(nRow,nCol,strKey);
}
else
AfxMessageBox("请输入数字!");
}
void CPrintSet::WriteToFile()
{
CPrintRecordSet prSet(&m_database);
//获得文件的当前路径
TCHAR pFileName[MAX_PATH];
GetModuleFileName(NULL,pFileName,MAX_PATH);
if(strchr(pFileName,'\\'))
*strrchr(pFileName,'\\')='\0';
strcat(pFileName,"\\IPCount.mdb");
CString strChar="";
try
{
CString sDSN="ODBC;DRIVER=Microsoft Access Driver (*.mdb);DSN='';DBQ="+strChar+pFileName+strChar;
if(!m_database.IsOpen())
{
if(!m_database.Open(NULL,FALSE,FALSE,sDSN,FALSE))//打开数据库是否成功
{
CDialog::EndDialog(0);
GetParent()->PostMessage(WM_CLOSE);
}
}
CString strSQL="select * from PrintTb";
prSet.Open(CPrintRecordSet::dynaset,strSQL);//打开数据表是否成功
}
catch(CDBException* pEx)//丢出异常处理
{
pEx->ReportError();
prSet.Close();
m_database.Close();
pEx->Delete();
}
if(!prSet.IsEOF())
prSet.MoveLast();
while( ! prSet.IsBOF())
{
prSet.Delete();
prSet.MovePrev();
}
if(prSet.CanAppend())//是否能过添加或修改
{
for(int i=1;i<7;i++)
{
prSet.AddNew();
prSet.m_column1=m_PrintGrid.GetTextMatrix(i,0);
prSet.m_column2=m_PrintGrid.GetTextMatrix(i,1);
prSet.m_column3=m_PrintGrid.GetTextMatrix(i,2);
prSet.m_column4=m_PrintGrid.GetTextMatrix(i,3);
prSet.m_column5=m_PrintGrid.GetTextMatrix(i,4);
prSet.m_column6=m_PrintGrid.GetTextMatrix(i,5);
prSet.m_column7=m_PrintGrid.GetTextMatrix(i,6);
prSet.m_column8=m_PrintGrid.GetTextMatrix(i,7);
prSet.m_column9=m_PrintGrid.GetTextMatrix(i,8);
prSet.m_column10=m_PrintGrid.GetTextMatrix(i,9);
prSet.Update();
}
}
prSet.Close();
}
void CPrintSet::OnClickMsflexgridPrintSet()
{
// TODO: Add your control notification handler code here
strKey="";
nRow=m_PrintGrid.GetRow();
nCol=m_PrintGrid.GetCol();
m_PrintGrid.SetCellBackColor(RGB(0,128,128));
}
void CPrintSet::OnCheckOne()
{
// TODO: Add your control notification handler code here
CSysSetUp *ssdlg;
ssdlg=(CSysSetUp *)GetParent();
m_bCheckPrintOne=!m_bCheckPrintOne;
if(m_bCheckPrintOne)
{
ssdlg->SetPrintOneFlag(1);
}
else
{
ssdlg->SetPrintOneFlag(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -