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

📄 detaildlg.cpp

📁 利用CJ60库创建界面
💻 CPP
字号:
// DetailDlg.cpp : implementation file
//

#include "stdafx.h"
#include "DutComputerManager.h"
#include "DetailDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDetailDlg dialog


CDetailDlg::CDetailDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CDetailDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDetailDlg)
	m_strComment = _T("");
	m_strCpu = _T("");
	m_strHarddisk = _T("");
	m_strMem = _T("");
	m_strMonitor = _T("");
	m_strName = _T("");
	m_strNetcard = _T("");
	m_fPrice = 0.0f;
	m_strSeriers = _T("");
	m_strSource = _T("");
	m_strUser = _T("");
	m_strVideocard = _T("");
	//}}AFX_DATA_INIT

	m_bAddnew=FALSE;
	m_pRecordSet=NULL;
}


void CDetailDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDetailDlg)
	DDX_Control(pDX, IDC_EDIT_NETCARD, m_NetcardCtrl);
	DDX_Control(pDX, IDC_EDIT_VIDEOCARD, m_VideocardCtrl);
	DDX_Control(pDX, IDC_EDIT_MONITOR, m_MonitorCtrl);
	DDX_Control(pDX, IDC_EDIT_MEM, m_MemCtrl);
	DDX_Control(pDX, IDC_EDIT_HARDDISK, m_HarddiskCtrl);
	DDX_Control(pDX, IDC_EDIT_CPU, m_CpuCtrl);
	DDX_Control(pDX, IDC_COMBO_TYPE, m_typeCmb);
	DDX_Control(pDX, IDC_COMBO_STATUS, m_statusCmb);
	DDX_Control(pDX, IDC_COMBO_ROOM, m_roomCmb);
	DDX_Control(pDX, IDC_COMBO_AREA, m_areaCmb);
	DDX_Control(pDX, IDC_BUTTON_PRE, m_preBtn);
	DDX_Control(pDX, IDC_BUTTON_NEXT, m_nextBtn);
	DDX_Control(pDX, IDC_BUTTON_LAST, m_lastBtn);
	DDX_Control(pDX, IDC_BUTTON_FIRST, m_firstBtn);
	DDX_Control(pDX, IDC_BUTTON_EDIT, m_editBtn);
	DDX_Control(pDX, IDC_BUTTON_DELETE, m_deleteBtn);
	DDX_Control(pDX, IDC_BUTTON_ADDNEW, m_addnewBtn);
	DDX_Text(pDX, IDC_EDIT_COMMENT, m_strComment);
	DDX_Text(pDX, IDC_EDIT_CPU, m_strCpu);
	DDX_Text(pDX, IDC_EDIT_HARDDISK, m_strHarddisk);
	DDX_Text(pDX, IDC_EDIT_MEM, m_strMem);
	DDX_Text(pDX, IDC_EDIT_MONITOR, m_strMonitor);
	DDX_Text(pDX, IDC_EDIT_NAME, m_strName);
	DDX_Text(pDX, IDC_EDIT_NETCARD, m_strNetcard);
	DDX_Text(pDX, IDC_EDIT_PRICE, m_fPrice);
	DDX_Text(pDX, IDC_EDIT_SERIERS, m_strSeriers);
	DDX_Text(pDX, IDC_EDIT_SOURCE, m_strSource);
	DDX_Text(pDX, IDC_EDIT_USER, m_strUser);
	DDX_Text(pDX, IDC_EDIT_VIDEOCARD, m_strVideocard);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDetailDlg, CDialog)
	//{{AFX_MSG_MAP(CDetailDlg)
	ON_BN_CLICKED(IDC_BUTTON_ADDNEW, OnButtonAddnew)
	ON_WM_CLOSE()
	ON_CBN_SELCHANGE(IDC_COMBO_AREA, OnSelchangeComboArea)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDetailDlg message handlers

void CDetailDlg::OnButtonAddnew() 
{
	// TODO: Add your control notification handler code here
	m_bAddnew=TRUE;
	ChangeStatus(m_bAddnew);
}

BOOL CDetailDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	if(m_bAddnew==TRUE)
	{
		m_nextBtn.ShowWindow(FALSE);
		m_preBtn.ShowWindow(FALSE);
		m_lastBtn.ShowWindow(FALSE);
		m_firstBtn.ShowWindow(FALSE);

		m_editBtn.ShowWindow(FALSE);
		m_deleteBtn.ShowWindow(FALSE);
		m_addnewBtn.SetWindowText("确定");
		SetWindowText("添加新记录");

	}

	m_pRecordSet=new CAdoRecordSet(theApp.m_pConnection);

	//物品分类查询
	m_pRecordSet->Open("select * from typedb");
	if(m_pRecordSet!=NULL)
	{
		m_pRecordSet->MoveFirst();
		while(!m_pRecordSet->IsEOF())
		{
			CString str="";
			m_pRecordSet->GetCollect("type",str);
			m_typeCmb.AddString(str);
			m_pRecordSet->MoveNext();
		}
		m_typeCmb.SetCurSel(0);
		m_pRecordSet->Close();
	}

	//物品状态查询
	m_pRecordSet->Open("select * from status ");
	if(m_pRecordSet!=NULL)
	{
		m_pRecordSet->MoveFirst();
		while(!m_pRecordSet->IsEOF())
		{
			CString str="";
			m_pRecordSet->GetCollect("status",str);
			m_statusCmb.AddString(str);
			m_pRecordSet->MoveNext();
		}
		m_statusCmb.SetCurSel(0);
		m_pRecordSet->Close();
	}

	//物品地域查询
	m_pRecordSet->Open("select * from locationdb");
	if(m_pRecordSet!=NULL)
	{
		m_pRecordSet->MoveFirst();
		_locationdb db;
		
		while(!m_pRecordSet->IsEOF())
		{
			CString str="";
			memset(&db,0,sizeof(_locationdb));
			
			m_pRecordSet->GetCollect("id",db.id);
			m_pRecordSet->GetCollect("type",db.type);
			m_pRecordSet->GetCollect("parent",db.parentid);
			m_pRecordSet->GetCollect("name",str);
			strcpy(db.name,(LPCTSTR)str);
			m_locationlist.AddTail(db);
			m_pRecordSet->MoveNext();
		}
		m_pRecordSet->Close();

		if(m_locationlist.GetCount()>0)
		{
			POSITION pos=m_locationlist.GetHeadPosition();
			
			while(pos!=NULL)
			{
				_locationdb db=m_locationlist.GetNext(pos);
				if(db.type==0)
				{
					m_areaCmb.AddString(db.name);
				}
			}
		}
	}




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

void CDetailDlg::ChangeStatus(BOOL status)
{
	if(status==TRUE)
	{
		m_nextBtn.ShowWindow(FALSE);
		m_preBtn.ShowWindow(FALSE);
		m_lastBtn.ShowWindow(FALSE);
		m_firstBtn.ShowWindow(FALSE);

		m_editBtn.ShowWindow(FALSE);
		m_deleteBtn.ShowWindow(FALSE);
		m_addnewBtn.SetWindowText("确定");
		SetWindowText("添加新记录");
	}
	else
	{
		m_nextBtn.ShowWindow(TRUE);
		m_preBtn.ShowWindow(TRUE);
		m_lastBtn.ShowWindow(TRUE);
		m_firstBtn.ShowWindow(TRUE);

		m_editBtn.ShowWindow(TRUE);
		m_deleteBtn.ShowWindow(TRUE);
		m_addnewBtn.SetWindowText("添加");
	}

}

void CDetailDlg::OnClose() 
{
	// TODO: Add your message handler code here and/or call default
	if(m_pRecordSet!=NULL)
	{
		if(m_pRecordSet->IsOpen())
		{
			m_pRecordSet->Close();
			delete m_pRecordSet;
			m_pRecordSet=NULL;
		}
	}
	if(m_locationlist.GetCount()>0)m_locationlist.RemoveAll();
	CDialog::OnClose();
}

void CDetailDlg::OnSelchangeComboArea() 
{
	// TODO: Add your control notification handler code here
	
	CString str;
	m_areaCmb.GetWindowText(str);

	if(m_locationlist.GetCount()>0)
	{
		POSITION pos=m_locationlist.GetHeadPosition();

		while(pos!=NULL)
		{
			_locationdb db=m_locationlist.GetNext(pos);

			if(db.type==0 && strcmp(db.name,(LPCTSTR)str))
			{
				m_areaCmb.AddString(db.name);
			}
		}
	}
}

⌨️ 快捷键说明

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