📄 servermessagesdlg.cpp
字号:
// ServerMessagesDlg.cpp : implementation file
//
#include "stdafx.h"
#include "PROJECTPMU.h"
#include "ServerMessagesDlg.h"
#include "EditServerMessagesDlg.h"
#include "ConfirmServerDelDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CServerMessagesDlg dialog
CServerMessagesDlg::CServerMessagesDlg(CWnd* pParent /*=NULL*/)
: CDialog(CServerMessagesDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CServerMessagesDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CServerMessagesDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CServerMessagesDlg)
DDX_Control(pDX, IDC_LIST1, m_ServerMessagesList);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CServerMessagesDlg, CDialog)
//{{AFX_MSG_MAP(CServerMessagesDlg)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
ON_BN_CLICKED(IDC_AddButton, OnAddButton)
ON_BN_CLICKED(IDC_AlterButton, OnAlterButton)
ON_BN_CLICKED(IDC_DeleteButton, OnDeleteButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CServerMessagesDlg message handlers
BOOL CServerMessagesDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
::SendMessage(m_ServerMessagesList.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,
LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);//点击一整行
// TODO: Add extra initialization here
//得到应用程序所在文件夹路径
CAdoRecordSet pRS;
if(NULL != GetModuleFileName(NULL,mDir_Path,256))
{
int n=strlen(mDir_Path);
for (int i=n; i>=0; i--)
{
if (mDir_Path[i] == '\\')
{
mDir_Path[i] = '\0';
break;
}
}
strcpy(mMDB_Path,mDir_Path);
strcat(mMDB_Path,"\\PIS.mdb"); // 数据库路径
}
m_ServerMessagesList.SetExtendedStyle(m_ServerMessagesList.GetExtendedStyle()|LVS_EX_GRIDLINES);
//////////为列表控件添加列//////////
m_ServerMessagesList.InsertColumn(0,"EnglishText",LVCFMT_LEFT,150);
m_ServerMessagesList.InsertColumn(1,"ChineseText",LVCFMT_LEFT,150);
m_ServerMessagesList.InsertColumn(2,"AudioDescriptionEn",LVCFMT_LEFT,150);
m_ServerMessagesList.InsertColumn(3,"AudioDescriptionCh",LVCFMT_LEFT,150);
m_ServerMessagesList.InsertColumn(4,"EnglishWave",LVCFMT_LEFT,150);
m_ServerMessagesList.InsertColumn(5,"ChineseWave",LVCFMT_LEFT,150);
//调用读取数据库中的信息函数
ReadDataFromDB();
m_listPosSel=-1;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CServerMessagesDlg::ReadDataFromDB()
{//////////读取数据库中的信息添加到列表控件///////////
if (m_pConnection.ConnectAccess(mMDB_Path,"sri"))
{
int nItem;
CAdoRecordSet pRS0;
pRS0.SetAdoConnection(&m_pConnection);
pRS0.Open("SELECT * FROM ServerMessages order by id",adCmdText);//按自动编号读取数据
while(!pRS0.IsEOF())
{
pRS0.GetCollect("EnglishText",m_sEnglishText);
pRS0.GetCollect("ChineseText",m_sChineseText);
pRS0.GetCollect("AudioDescriptionEn",m_sAudioDescriptionEn);
pRS0.GetCollect("AudioDescriptionCh",m_sAudioDescriptionCh);
pRS0.GetCollect("EnglishWave",m_sEnglishWave);
pRS0.GetCollect("ChineseWave",m_sChineseWave);
m_sEnglishText.TrimRight();
m_sChineseText.TrimRight();
m_sAudioDescriptionEn.TrimRight();
m_sAudioDescriptionCh.TrimRight();
m_sEnglishWave.TrimRight();
m_sChineseWave.TrimRight();
nItem=m_ServerMessagesList.InsertItem(0xffff,"");
m_ServerMessagesList.SetItem(nItem,0,1,(m_sEnglishText==VT_NULL)?"":m_sEnglishText,NULL,0,0,0);
m_ServerMessagesList.SetItem(nItem,1,1,(m_sChineseText==VT_NULL)?"":m_sChineseText,NULL,0,0,0);
m_ServerMessagesList.SetItem(nItem,2,1,(m_sAudioDescriptionEn==VT_NULL)?"":m_sAudioDescriptionEn,NULL,0,0,0);
m_ServerMessagesList.SetItem(nItem,3,1,(m_sAudioDescriptionCh==VT_NULL)?"":m_sAudioDescriptionCh,NULL,0,0,0);
m_ServerMessagesList.SetItem(nItem,4,1,(m_sEnglishWave==VT_NULL)?"":m_sEnglishWave,NULL,0,0,0);
m_ServerMessagesList.SetItem(nItem,5,1,(m_sChineseWave==VT_NULL)?"":m_sChineseWave,NULL,0,0,0);
pRS0.MoveNext();
}
pRS0.Close();
}
m_pConnection.Close();
}
void CServerMessagesDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
POSITION pos;
pos = m_ServerMessagesList.GetFirstSelectedItemPosition();
// 得到项目索引
IndexInFieldList = m_ServerMessagesList.GetNextSelectedItem(pos);
m_listPosSel=IndexInFieldList;
if(m_listPosSel>-1)
{
m_sEnglishText=m_ServerMessagesList.GetItemText(IndexInFieldList, 0);
m_sChineseText=m_ServerMessagesList.GetItemText(IndexInFieldList, 1);
m_sAudioDescriptionEn=m_ServerMessagesList.GetItemText(IndexInFieldList, 2);
m_sAudioDescriptionCh=m_ServerMessagesList.GetItemText(IndexInFieldList, 3);
m_sEnglishWave=m_ServerMessagesList.GetItemText(IndexInFieldList, 4);
m_sChineseWave=m_ServerMessagesList.GetItemText(IndexInFieldList, 5);
}
*pResult = 0;
}
//添加表ServerMessages中数据
void CServerMessagesDlg::OnAddButton()
{
// TODO: Add your control notification handler code here
//重新读取数据库中的信息添加到列表控件
CEditServerMessagesDlg dlg;
dlg.m_bADD = true;//判断添加还是修改数据的条件,true是添加,false是修改
if(dlg.DoModal() == IDOK)
{
// MessageBox("ok");
m_ServerMessagesList.DeleteAllItems();
ReadDataFromDB();
}
}
//修改表ServerMessages中数据
void CServerMessagesDlg::OnAlterButton()
{
// TODO: Add your control notification handler code here
if(m_listPosSel>-1)
{
CEditServerMessagesDlg dlg;
dlg.m_bADD = false;//判断添加还是修改数据的条件,true是添加,false是修改
dlg.EnglishText=m_sEnglishText;
dlg.ChineseText=m_sChineseText;
dlg.AudioDescriptionEn=m_sAudioDescriptionEn;
dlg.AudioDescriptionCh=m_sAudioDescriptionCh;
dlg.EnglishWave=m_sEnglishWave;
dlg.ChineseWave=m_sChineseWave;
//重新读取数据库中的信息添加到列表控件
if(dlg.DoModal() == IDOK)
{
// MessageBox("ok");
m_ServerMessagesList.DeleteAllItems();
ReadDataFromDB();
}
}
else
{
AfxMessageBox("请选择要修改的信息");
}
}
//删除表ServerMessage中数据
void CServerMessagesDlg::OnDeleteButton()
{
// TODO: Add your control notification handler code here
if( m_listPosSel > -1 )
{
CConfirmServerDelDlg dlg;
dlg.EnglishText=m_sEnglishText;
dlg.ChineseText=m_sChineseText;
// MessageBox(m_sEnglishText);
if(dlg.DoModal() == IDOK)
{
// MessageBox("ok");
m_ServerMessagesList.DeleteAllItems();
ReadDataFromDB();
}
}
else
{
AfxMessageBox("请选择要修改的信息");
}
/*CString str1,str2,sqldelete;
str1=m_sEnglishText;
str2=m_sChineseText;
AfxMessageBox(m_sEnglishText);
str1.TrimLeft();
str1.TrimRight();
str2.TrimLeft();
str2.TrimRight();
if(m_pConnection.ConnectAccess(mMDB_Path,"sri"))
sqldelete.Format("delete from ServerMessages where (EnglishText='%s') and (ChineseText='%s')",str1,str2);
AfxMessageBox(sqldelete);
m_pConnection.Execute(sqldelete);
m_ServerMessagesList.DeleteAllItems();
ReadDataFromDB();*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -