📄 feeratepage.cpp
字号:
// FeeRatePage.cpp : implementation file
//
#include "stdafx.h"
#include "IPCount.h"
#include "FeeRatePage.h"
#include "IPCountDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFeeRatePage property page
IMPLEMENT_DYNCREATE(CFeeRatePage, CPropertyPage)
CFeeRatePage::CFeeRatePage() : CPropertyPage(CFeeRatePage::IDD)
{
//{{AFX_DATA_INIT(CFeeRatePage)
m_strType = _T("");
m_strFeeRate = _T("");
m_strOFeeRate = _T("");
m_strSTLen = _T("");
m_strStartTimeLen = _T("");
//}}AFX_DATA_INIT
nItem=-1;
m_strOType="";
}
CFeeRatePage::~CFeeRatePage()
{
}
void CFeeRatePage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFeeRatePage)
DDX_Control(pDX, IDC_LIST_FEERATE, m_ListRate);
DDX_Text(pDX, IDC_EDIT_TYPE, m_strType);
DDX_Text(pDX, IDC_EDIT_FEERATE, m_strFeeRate);
DDX_Text(pDX, IDC_EDIT_OFEERATE, m_strOFeeRate);
DDX_Text(pDX, IDC_EDIT_OFEECUT_TIMES, m_strSTLen);
DDX_Text(pDX, IDC_EDIT_TIMES, m_strStartTimeLen);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFeeRatePage, CPropertyPage)
//{{AFX_MSG_MAP(CFeeRatePage)
ON_BN_CLICKED(IDC_BUTTON_FADD, OnFadd)
ON_BN_CLICKED(IDC_BUTTON_FMOD, OnFmod)
ON_BN_CLICKED(IDC_BUTTON_FDEL, OnFdel)
ON_NOTIFY(NM_CLICK, IDC_LIST_FEERATE, OnClickListFeerate)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFeeRatePage message handlers
BOOL CFeeRatePage::OnInitDialog()
{
CPropertyPage::OnInitDialog();
// TODO: Add extra initialization here
m_ListRate.SetExtendedStyle(m_ListRate.GetExtendedStyle()|
LVS_EX_FULLROWSELECT|LVS_EX_FLATSB|LVS_EX_INFOTIP);
CFont *m_font=new CFont;
m_font->CreateFont(17,0,0,0,FW_NORMAL,FALSE,FALSE,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH&FF_SWISS,"宋体");
m_ListRate.SetFont(m_font,TRUE);
m_ListRate.SetTextColor(RGB(0,0,180));
m_ListRate.InsertColumn(0,"类型",LVCFMT_LEFT,80);
m_ListRate.InsertColumn(1,"费率",LVCFMT_LEFT,70);
m_ListRate.InsertColumn(2,"附加费率",LVCFMT_LEFT,90);
m_ListRate.InsertColumn(3,"附加费时长",LVCFMT_LEFT,100);
m_ListRate.InsertColumn(4,"起计时长",LVCFMT_LEFT,90);
m_ListRate.InsertColumn(5,"地区名",LVCFMT_LEFT,90);
//获得文件的当前路径
TCHAR pFileName[MAX_PATH];
GetModuleFileName(NULL,pFileName,MAX_PATH);
if(strchr(pFileName,'\\'))
*strrchr(pFileName,'\\')='\0';
strcat(pFileName,"\\FeeRate.dat");
set.Open(pFileName);
int nIndex=0;
while(!set.IsEOF())
{
nIndex=m_ListRate.GetItemCount();
m_ListRate.InsertItem( nIndex,set.m_Type);
m_ListRate.SetItemText(nIndex,1,set.m_FeeRate);
m_ListRate.SetItemText(nIndex,2,set.m_OFeeRate);
m_ListRate.SetItemText(nIndex,3,set.m_STLen);
m_ListRate.SetItemText(nIndex,4,set.m_StartTLen);//for xiamen
set.MoveNext();
}
set.Close();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CFeeRatePage::OnFadd()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if((m_strType.IsEmpty())||(m_strFeeRate.IsEmpty()))
MessageBox( "类型、费率是必须的","注意",MB_ICONWARNING);
CIPCountDlg *mdlg;
mdlg=(CIPCountDlg *)GetParent()->GetParent();
if(mdlg==NULL)
return ;
//获得文件的当前路径
TCHAR pFileName[MAX_PATH];
GetModuleFileName(NULL,pFileName,MAX_PATH);
if(strchr(pFileName,'\\'))
*strrchr(pFileName,'\\')='\0';
strcat(pFileName,"\\FeeRate.dat");
set.Open(pFileName);
///////////////////////////////////////////////////////////
while(!set.IsEOF())//判断将要添加的费率是否已存在
{
if(strcmp(set.m_Type,m_strType)==0)
{
AfxMessageBox("该类型费率已存在");
set.Close();
return;
}
set.MoveNext();
}
////////////////////////////////////////////////////////////
AfxMessageBox("操作成功!");
int nIndex=0;
nIndex=m_ListRate.GetItemCount();
set.m_Type=m_strType;
set.m_FeeRate=m_strFeeRate;
set.m_OFeeRate=m_strOFeeRate;
set.m_STLen=m_strSTLen;
set.m_StartTLen=m_strStartTimeLen;
set.AddNew();
set.Close();
m_ListRate.InsertItem(nIndex,set.m_Type);
m_ListRate.SetItemText(nIndex,1,set.m_FeeRate);
m_ListRate.SetItemText(nIndex,2,set.m_OFeeRate);
m_ListRate.SetItemText(nIndex,3,set.m_STLen);
m_ListRate.SetItemText(nIndex,4,set.m_StartTLen);//for xiamen
mdlg->SetInitRate();
}
void CFeeRatePage::OnFmod()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CIPCountDlg *mdlg;
mdlg=(CIPCountDlg *)GetParent()->GetParent();
if(mdlg==NULL)
return ;
int nCount=m_ListRate.GetSelectedCount();
for(int i=0;i<nCount;i++)
{
nItem=m_ListRate.GetNextItem(-1,LVIS_SELECTED);
}
if(nItem==-1)
return;
//获得文件的当前路径
TCHAR pFileName[MAX_PATH];
GetModuleFileName(NULL,pFileName,MAX_PATH);
if(strchr(pFileName,'\\'))
*strrchr(pFileName,'\\')='\0';
strcat(pFileName,"\\FeeRate.dat");
set.Open(pFileName);
///////////////////////////////////////////////////////////
if(strcmp(m_strOType,m_strType)!=0)//是修改类型
{
while(!set.IsEOF())//判断将要添加的费率是否已存在
{
if(strcmp(set.m_Type,m_strType)==0)
{
AfxMessageBox("该类型费率已存在");
set.Close();
return;
}
set.MoveNext();
}
}
////////////////////////////////////////////////////////////
AfxMessageBox("操作成功!");
set.MoveFirst();
set.Move(nItem);
set.m_Type=m_strType;
set.m_FeeRate=m_strFeeRate;
set.m_OFeeRate=m_strOFeeRate;
set.m_STLen=m_strSTLen;
set.m_StartTLen=m_strStartTimeLen;
set.Update();
set.Close();
m_ListRate.SetItemText(nItem,0,set.m_Type);
m_ListRate.SetItemText(nItem,1,set.m_FeeRate);
m_ListRate.SetItemText(nItem,2,set.m_OFeeRate);
m_ListRate.SetItemText(nItem,3,set.m_STLen);
m_ListRate.SetItemText(nItem,4,set.m_StartTLen);//for xiamen
mdlg->SetInitRate();
UpdateData(FALSE);
}
void CFeeRatePage::OnFdel()
{
// TODO: Add your control notification handler code here
if(nItem==-1)
return;
CIPCountDlg *mdlg;
mdlg=(CIPCountDlg *)GetParent()->GetParent();
if(mdlg==NULL)
return ;
int nCount=m_ListRate.GetSelectedCount();
for(int i=0;i<nCount;i++)
{
nItem=m_ListRate.GetNextItem(-1,LVIS_SELECTED);
}
//获得文件的当前路径
TCHAR pFileName[MAX_PATH];
GetModuleFileName(NULL,pFileName,MAX_PATH);
if(strchr(pFileName,'\\'))
*strrchr(pFileName,'\\')='\0';
strcat(pFileName,"\\FeeRate.dat");
set.Open(pFileName);
set.Move(nItem);
if (set.Delete())
{
m_ListRate.DeleteItem(nItem);
}
set.Close();
mdlg->SetInitRate();//初始化变量(费率)
}
void CFeeRatePage::OnClickListFeerate(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
for(nItem=0;nItem<m_ListRate.GetItemCount();nItem++)
{
if(m_ListRate.GetItemState(nItem,LVIS_SELECTED)==LVIS_SELECTED)
{
m_strOType=m_strType=m_ListRate.GetItemText(nItem,0);
m_strFeeRate=m_ListRate.GetItemText(nItem,1);
m_strOFeeRate=m_ListRate.GetItemText(nItem,2);
m_strSTLen=m_ListRate.GetItemText(nItem,3);
m_strStartTimeLen=m_ListRate.GetItemText(nItem,4);
}
}
UpdateData(FALSE);
*pResult = 0;
}
void CFeeRatePage::OnCancel()
{
// TODO: Add extra cleanup here
CFeeRateSheet *frdlg;
frdlg=(CFeeRateSheet *)GetParent();
CPropertyPage::OnCancel();
frdlg->DestroyWindow();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -