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

📄 typedlg.cpp

📁 Family Financial Management System是一个特别方便的理财系统。功能方便实用。
💻 CPP
字号:
// TypeDlg.cpp : implementation file
//

#include "StdAfx.h"
#include "FFManage.h"
#include "TypeDlg.h"

extern CRecordset g_Recordset;	
extern CDatabase  g_Database;
extern int        g_iType;

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

/////////////////////////////////////////////////////////////////////////////
// CTypeDlg dialog


CTypeDlg::CTypeDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTypeDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTypeDlg)
	m_strAdd = _T("");
	//}}AFX_DATA_INIT
	m_iSel  = -1;
}


void CTypeDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTypeDlg)
	DDX_Control(pDX, IDC_LIST, m_ctlList);
	DDX_Text(pDX, IDC_StrAdd_EDIT, m_strAdd);
	DDV_MaxChars(pDX, m_strAdd, 100);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTypeDlg, CDialog)
	//{{AFX_MSG_MAP(CTypeDlg)
	ON_BN_CLICKED(IDC_BTN_Add, OnBTNAdd)
	ON_BN_CLICKED(IDC_BTN_Del, OnBTNDel)
	ON_EN_CHANGE(IDC_StrAdd_EDIT, OnChangeStrAddEDIT)
	ON_LBN_SELCHANGE(IDC_LIST, OnSelchangeList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTypeDlg message handlers

void CTypeDlg::OnBTNAdd() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_ctlList.SelectString(-1,m_strAdd) == LB_ERR)
	{
		m_ctlList.AddString(m_strAdd);	
		
		GetDlgItem(IDC_BTN_Add)->EnableWindow(FALSE);
		GetDlgItem(IDC_StrAdd_EDIT)->SetFocus();

		m_ctlList.SelectString(-1,m_strAdd);
		m_strAdd.Empty();
		UpdateData(FALSE);
	}	
	
}

void CTypeDlg::OnBTNDel() 
{
	if(m_ctlList.DeleteString(m_iSel) == m_iSel)
	{
		m_ctlList.SetCurSel(--m_iSel);
	}
	else
	{
		m_ctlList.SetCurSel(m_iSel);
	}

	if(m_ctlList.GetCurSel() == LB_ERR )
	{
		GetDlgItem(IDC_BTN_Del)->EnableWindow(FALSE);
	}

}

BOOL CTypeDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();	

	switch(g_iType)
	{
	case TYPE_Out:
		SetWindowText("修改 “开支” 种类");
		break;
	case TYPE_Event:
		SetWindowText("修改 “记事” 种类");
		break;
	case TYPE_In:
		SetWindowText("修改 “收入” 种类");
		break;
	case TYPE_Save:
		SetWindowText("修改 “储蓄” 种类");
		break;
	case TYPE_Dac:
		SetWindowText("修改 “借贷” 对方");
		break;
	default:
		break;
	}

	CString strTemp,strSQL;
	int nItem = 0;
	strSQL.Format("select FValue from TListCmb where FType = %d Order by FValue",g_iType);
	if(g_Recordset.IsOpen())g_Recordset.Close();
	g_Recordset.Open(CRecordset::forwardOnly, strSQL, CRecordset::readOnly);
	while( !g_Recordset.IsEOF())
	{
		g_Recordset.GetFieldValue((short)0,strTemp);		
		m_ctlList.AddString(strTemp);
    	g_Recordset.MoveNext();	
		nItem++;
	}
	g_Recordset.Close();  

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

void CTypeDlg::OnChangeStrAddEDIT() 
{
	UpdateData(TRUE);
	if(m_strAdd.IsEmpty())
	{
		GetDlgItem(IDC_BTN_Add)->EnableWindow(FALSE);
	}
	else
	{
		GetDlgItem(IDC_BTN_Add)->EnableWindow(TRUE);
	}
}

void CTypeDlg::OnSelchangeList() 
{	
	m_iSel = m_ctlList.GetCurSel();
	if(m_iSel == LB_ERR )
	{
		GetDlgItem(IDC_BTN_Del)->EnableWindow(FALSE);
	}
	else
	{
		GetDlgItem(IDC_BTN_Del)->EnableWindow(TRUE);
	}

}

void CTypeDlg::OnOK() 
{
	CString strSQL;
	CString strTemp;
	strSQL.Format("Delete from TListCmb where FType = %d",g_iType);
	g_Database.ExecuteSQL(strSQL);
	
	int iCount = m_ctlList.GetCount();
	int i = 0;
	for(i=0; i<iCount; i++)
	{
		m_ctlList.GetText(i,strTemp);
		strSQL.Format("Insert into TListCmb(FType, FValue) values (%d,'%s')",g_iType,strTemp);
//		AfxMessageBox(strSQL);
		g_Database.ExecuteSQL(strSQL);
	}
	m_ctlList.GetText(m_ctlList.GetCurSel(),m_strSel); 
	CDialog::OnOK();	
}

⌨️ 快捷键说明

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