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

📄 dbfcssz.cpp

📁 智能大厦自动报警系统---网上搜集的资料
💻 CPP
字号:
// Dbfcssz.cpp : implementation file
//

#include "stdafx.h"
#include "yhjk.h"
#include "Dbfcssz.h"
#include "RxRecordset.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDbfcssz dialog


CDbfcssz::CDbfcssz(CWnd* pParent /*=NULL*/)
	: CDialog(CDbfcssz::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDbfcssz)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CDbfcssz::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDbfcssz)
	DDX_Control(pDX, IDC_EDTDKBM, m_EdtDkbm);
	DDX_Control(pDX, IDC_COMDZMC, m_ComDzmc);
	DDX_Control(pDX, IDC_BUTUNDO, m_ButUndo);
	DDX_Control(pDX, IDC_BUTSAVE, m_ButSave);
	DDX_Control(pDX, IDC_BUTEXIT, m_ButExit);
	DDX_Control(pDX, IDC_BUTCHANGE, m_ButChange);
	DDX_Control(pDX, IDC_TREE1, m_Tree);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDbfcssz, CDialog)
	//{{AFX_MSG_MAP(CDbfcssz)
	ON_NOTIFY(NM_DBLCLK, IDC_TREE1, OnDblclkTree1)
	ON_BN_CLICKED(IDC_BUTCHANGE, OnButchange)
	ON_EN_KILLFOCUS(IDC_EDTDKBM, OnKillfocusEdtdkbm)
	ON_BN_CLICKED(IDC_BUTSAVE, OnButsave)
	ON_BN_CLICKED(IDC_BUTUNDO, OnButundo)
	ON_BN_CLICKED(IDC_BUTEXIT, OnButexit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDbfcssz message handlers

void CDbfcssz::OnOK() 
{
	// TODO: Add extra validation here
	//CDialog::OnOK();
}

BOOL CDbfcssz::OnInitDialog() 
{
	CDialog::OnInitDialog();
	RxRecordset rst;
	rst.Open("系统设置表");
	CString sLayers;
	sLayers=rst.GetFieldValue("楼层数");
	HTREEITEM item;
	CString slayer,sID,sFixing;
	rst.Open("动作设置表");
	int nCount=rst.GetRecordCount();
	for(int i=1;i<=atoi(sLayers);i++)
	{
		slayer.Format("%d楼",i);
		item=m_Tree.InsertItem(slayer,TVI_ROOT,TVI_LAST);
		for(int c=1;c<=nCount;c++)
		{
			sID.Format("%d",c);
			sFixing=ado.FieldToOtherField("动作设置表", "编号",sID,"动作名称",2);
			m_Tree.InsertItem(sFixing,item,TVI_LAST);
		}
	}
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDbfcssz::OnDblclkTree1(NMHDR* pNMHDR, LRESULT* pResult) 
{

	CString sCurLayer,sFixing;
	HTREEITEM item=m_Tree.GetSelectedItem();
	if(m_Tree.GetChildItem(item)!=NULL)
		return;
	sFixing=m_Tree.GetItemText(item);
	HTREEITEM ParentItme=m_Tree.GetParentItem(item);
	sCurLayer=m_Tree.GetItemText(ParentItme);
	sCurLayer=sCurLayer.Left(sCurLayer.GetLength()-2);
	CString sSQL;
	sSQL.Format("SELECT * FROM 处警参数设置表 a INNER JOIN 动作设置表 b on a.报警设备=b.编号 WHERE a.楼层=%s and b.动作名称='%s'",sCurLayer,sFixing);
	RxRecordset rst;
	rst.Open(sSQL,adCmdText);
	
	CString PortID;
	PortID=rst.GetFieldValue("端口号");
	this->m_EdtDkbm.SetWindowText(PortID);
	this->m_ComDzmc.SetWindowText(sFixing);
	m_SeleLayer=sCurLayer;
	m_SeleFixing=ado.FieldToOtherField("动作设置表","动作名称",sFixing,"编号",1);
	*pResult = 0;
}

void CDbfcssz::OnButchange() 
{
	m_Tree.EnableWindow(false);
	this->Enabled(true);
	this->m_EdtDkbm.SetFocus();

}


void CDbfcssz::Enabled(bool bEnabled)
{
	m_EdtDkbm.EnableWindow(bEnabled);
	m_Tree.EnableWindow(!bEnabled);
	m_ButUndo.EnableWindow(bEnabled);
	m_ButSave.EnableWindow(bEnabled);
	m_ButExit.EnableWindow(!bEnabled);
	m_ButChange.EnableWindow(!bEnabled);


}

void CDbfcssz::OnKillfocusEdtdkbm() 
{
}

void CDbfcssz::OnButsave() 
{
	if(MessageBox("确定保存对端口编码的修改吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	else
	{
		CString sSQL;
		CString sPortID,sFixing;
		m_EdtDkbm.GetWindowText(sPortID);
		sSQL.Format("UPDATE 处警参数设置表 SET 端口号='%s' WHERE 楼层=%s AND 报警设备=%s ",sPortID,m_SeleLayer,m_SeleFixing);
		RxRecordset rst;
		bool IsUpdate=rst.Open(sSQL,adCmdText);
		if(IsUpdate==false)
		{
			MessageBox("更新错误!请确定此端口号没有其它设备使用!","系统提示",MB_OK|MB_ICONSTOP);
			m_EdtDkbm.SetFocus();
			return;
		}
	}
	Enabled(false);
	m_Tree.SetFocus();

}

void CDbfcssz::OnButundo() 
{
	if(MessageBox("确定要撤消吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
		return;
	else
	{
		this->Enabled(false);
		this->m_Tree.SetFocus();
	}
}

void CDbfcssz::OnButexit() 
{
	this->OnCancel();	
}

⌨️ 快捷键说明

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