⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 areadlg.cpp

📁 一个简单的个人所得税计算器,可以编辑税率表和所在地列表.
💻 CPP
字号:
// AreaDlg.cpp : implementation file
//

#include "stdafx.h"
#include "pitc.h"
#include "AreaDlg.h"
#include "MainFrm.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

extern CString areaFlag;
extern BOOL modified;
/////////////////////////////////////////////////////////////////////////////
// CAreaDlg dialog


CAreaDlg::CAreaDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAreaDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAreaDlg)
	m_strArea = _T("");
	m_dStart = 0.0;
	//}}AFX_DATA_INIT
}


void CAreaDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAreaDlg)
	DDX_Text(pDX, IDC_EDIT_AREA, m_strArea);
	DDX_Text(pDX, IDC_EDIT_START, m_dStart);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAreaDlg, CDialog)
	//{{AFX_MSG_MAP(CAreaDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAreaDlg message handlers

void CAreaDlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);
	m_strArea.TrimLeft();
	m_strArea.TrimRight();
    if(m_strArea=="")
	{
		AfxMessageBox("所在地不能为空!");
		GetDlgItem(IDC_EDIT_AREA)->SetFocus();
		return;
	}
	if(m_dStart<0)
	{
		AfxMessageBox("起征点的值应>=0!");
		GetDlgItem(IDC_EDIT_START)->SetFocus();
		return;
	}
	////
	CMainFrame *pMain;
	pMain=(CMainFrame *)(AfxGetApp()->m_pMainWnd);
	CListCtrlArea *pListCtrl;
	pListCtrl=(CListCtrlArea *)(&(pMain->m_pConfigViewArea->m_wndListCtrlArea));

	m_dStart=((CPITCApp*)AfxGetApp())->Sswr(m_dStart,2);//保留2位小数

	if(areaFlag=="ADD")
	{
        int count=pListCtrl->GetItemCount();
		CString str;
		str.Format("%d",count);
		int nitem=pListCtrl->InsertItem(count,m_strArea);
		str.Format("%.2f",m_dStart);
		pListCtrl->SetItemText(nitem,1,str);
		////
		pListCtrl->SetItemState(-1, 0, LVNI_SELECTED);//取消所有的item选中状态,执行后,item_cur可能会改变
		pListCtrl->SetFocus();
        pListCtrl->SetItemState(nitem,LVNI_SELECTED,LVNI_SELECTED);

	}

	if(areaFlag=="EDIT")
	{

		POSITION pos = pListCtrl->GetFirstSelectedItemPosition();
	    int m=pListCtrl->GetNextSelectedItem(pos);//第一个被选中的
		int count=pListCtrl->GetItemCount();
		int num=atoi(pListCtrl->GetItemText(m,0));
		CString str;
		pListCtrl->SetItemText(m,0,m_strArea);
		str.Format("%.2f",m_dStart);
		pListCtrl->SetItemText(m,1,str);
		
		////
		pListCtrl->SetItemState(-1, 0, LVNI_SELECTED);//取消所有的item选中状态,执行后,item_cur可能会改变
		pListCtrl->SetFocus();
        pListCtrl->SetItemState(m,LVNI_SELECTED,LVNI_SELECTED);
	}

	modified=TRUE;
	////
	CDialog::OnOK();
}

BOOL CAreaDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	if(areaFlag=="ADD")
	{
		SetWindowText("添加所在地");
	}
	else if(areaFlag=="EDIT")
	{
		CMainFrame *pMain;
	    pMain=(CMainFrame *)(AfxGetApp()->m_pMainWnd);
	    CListCtrl *pListCtrl;
	    pListCtrl=&(pMain->m_pConfigViewArea->m_wndListCtrlArea);
        int count=pListCtrl->GetSelectedCount();
	    if(0==count)
		{
			AfxMessageBox("请在所在地列表中选则一行数据!");
		    return FALSE;
		}
        POSITION pos = pListCtrl->GetFirstSelectedItemPosition();
	    int m=pListCtrl->GetNextSelectedItem(pos);//第一个被选中的
        m_strArea=pListCtrl->GetItemText(m,0);
		m_dStart=atof(pListCtrl->GetItemText(m,1));
		UpdateData(FALSE);//更新显示
		SetWindowText("修改所在地");
	}

	//////
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -