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

📄 alluser.cpp

📁 VC++开发的一个电话录音程序
💻 CPP
字号:
// AllUser.cpp : implementation file
//

#include "stdafx.h"
#include "phonerec.h"
#include "AllUser.h"

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


extern CDatabase g_dbCust;	


static char	g_szaUserListTitle[user_max][16] = 
{
	"用户名",
	"增加用户",
	"删除用户",
	"浏览用户",
	"修改权限",
	"启动退出",
	"系统设置",
	"删除录音",
	"录音设置"
};

static int	g_izUserListWidth[user_max] = { 65, 65, 65, 65, 65, 65, 65, 65,65 };

/////////////////////////////////////////////////////////////////////////////
// CAllUser dialog


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


void CAllUser::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAllUser)
	DDX_Control(pDX, IDOK, m_btnOK);
	DDX_Control(pDX, IDC_LIST_ALL_USER, m_ListAllUser);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAllUser, CDialog)
	//{{AFX_MSG_MAP(CAllUser)
	ON_WM_CLOSE()
	ON_NOTIFY(NM_DBLCLK, IDC_LIST_ALL_USER, OnDblclkListAllUser)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAllUser message handlers

BOOL CAllUser::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	for( int i = 0; i < user_max; i++ )
	{
		m_ListAllUser.InsertColumn(i,	g_szaUserListTitle[i],	LVCFMT_CENTER, g_izUserListWidth[i] );
	}
	m_ListAllUser.SetExtendedStyle( LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT );
	
	InitListCtrl();

	if( !m_bBrowseorModify )
	{
		m_btnOK.ShowWindow( FALSE );
	}
		
	return TRUE; 
}

void CAllUser::InitListCtrl()
{
	m_ListAllUser.DeleteAllItems();
	
	CRecordset rs( &g_dbCust );
	CString strUserName;
	CString bAddUser;
	CString bDelUser;
	CString bBrowseUser;
	CString bModifyUser;
	CString bStartExit;
	CString bSetSys;
	CString bDelRecord;
	CString bEableRecord;
	
	m_iAllUserCount = 0;
	
	BOOL bOpen = rs.Open( CRecordset::dynaset,
		_T( "Select *  from Users ") );
	while( !rs.IsEOF( ) )
	{
		rs.GetFieldValue( "Name", strUserName );
		rs.GetFieldValue( "AddUser", bAddUser );
		rs.GetFieldValue( "DelUser", bDelUser );
		rs.GetFieldValue( "BrosweUser", bBrowseUser );
		rs.GetFieldValue( "ModifyPopedom", bModifyUser );
		rs.GetFieldValue( "StartExit", bStartExit );
		rs.GetFieldValue( "SetSys", bSetSys );
		rs.GetFieldValue( "DelReData", bDelRecord );
		rs.GetFieldValue( "EableRecord", bEableRecord );

		if( strUserName.Compare("super") )	
		{
			char buffer[8];
			sprintf(buffer,"%d",m_iAllUserCount);
			m_ListAllUser.InsertItem(m_iAllUserCount,buffer);
			
			m_ListAllUser.SetItem(m_iAllUserCount, 0,LVIF_TEXT, strUserName, -1,0,0,0);
			m_ListAllUser.SetItem(m_iAllUserCount, 1,LVIF_TEXT, CovertstrIntToCString( bAddUser ), -1,0,0,0);
			m_ListAllUser.SetItem(m_iAllUserCount, 2,LVIF_TEXT, CovertstrIntToCString( bDelUser ), -1,0,0,0);
			m_ListAllUser.SetItem(m_iAllUserCount, 3,LVIF_TEXT, CovertstrIntToCString( bBrowseUser ), -1,0,0,0);
			m_ListAllUser.SetItem(m_iAllUserCount, 4,LVIF_TEXT, CovertstrIntToCString( bModifyUser ), -1,0,0,0);
			m_ListAllUser.SetItem(m_iAllUserCount, 5,LVIF_TEXT, CovertstrIntToCString( bStartExit ), -1,0,0,0);
			m_ListAllUser.SetItem(m_iAllUserCount, 6,LVIF_TEXT, CovertstrIntToCString( bSetSys ), -1,0,0,0);
			m_ListAllUser.SetItem(m_iAllUserCount, 7,LVIF_TEXT, CovertstrIntToCString( bDelRecord ), -1,0,0,0);
			m_ListAllUser.SetItem(m_iAllUserCount, 8,LVIF_TEXT, CovertstrIntToCString( bEableRecord ), -1,0,0,0);
			
			m_iAllUserCount++;
		}		
		rs.MoveNext();	
	}
	rs.Close();
}

void CAllUser::OnClose() 
{ 
	m_bBrowseorModify = FALSE;
	
	CDialog::OnClose();
}

void CAllUser::OnDblclkListAllUser(NMHDR* pNMHDR, LRESULT* pResult) 
{
	int nIndex = m_ListAllUser.GetNextItem( -1, LVNI_SELECTED );

	if( m_bBrowseorModify)
	{
		CModifyPopedom  dlg;
		if ( 0 <=  nIndex )
		{
		
			dlg.m_strUserName =  m_ListAllUser.GetItemText( nIndex, 0 ) ; 
			dlg.m_bAddUser    = CovertCStringtoInt(m_ListAllUser.GetItemText( nIndex, 1 ) ); 
			dlg.m_bDelUser    = CovertCStringtoInt( m_ListAllUser.GetItemText( nIndex, 2 ) ); 
			dlg.m_bBrowseUser =	CovertCStringtoInt( m_ListAllUser.GetItemText( nIndex, 3 ) ); 
			dlg.m_bModifyPom  = CovertCStringtoInt( m_ListAllUser.GetItemText( nIndex, 4 ) ); 
			dlg.m_bStartExit  = CovertCStringtoInt( m_ListAllUser.GetItemText( nIndex, 5 ) ); 
			dlg.m_bSetSys     = CovertCStringtoInt( m_ListAllUser.GetItemText( nIndex, 6 ) ); 
			dlg.m_bDelRe      = CovertCStringtoInt( m_ListAllUser.GetItemText( nIndex, 7 ) ); 
			dlg.m_bEableRe    = CovertCStringtoInt( m_ListAllUser.GetItemText( nIndex, 8 ) ); 
		}

		if( dlg.DoModal() )
		{
			UserInfo use;
			use.strName = dlg.m_strUserName;
			use.bAddUser = dlg.m_bAddUser;
			use.bDelUser = dlg.m_bDelUser;
			use.bBrowseUser = dlg.m_bBrowseUser;
			use.bModifyPopedom = dlg.m_bModifyPom;
			use.bStartExit = dlg.m_bStartExit;
			use.bSetSys = dlg.m_bSetSys;
			use.bDelRecord = dlg.m_bDelRe;
			use.bEableRecord = dlg.m_bDelRe;

			//修改数据库
			m_userTable.UpdateUser( use );

			//列表显示
			m_ListAllUser.SetItem(nIndex, user_bAdd, LVIF_TEXT, CovertIntToCString( use.bAddUser ), -1,0,0,0);
			m_ListAllUser.SetItem(nIndex, user_bDel, LVIF_TEXT, CovertIntToCString( use.bDelUser ), -1,0,0,0);
			m_ListAllUser.SetItem(nIndex, user_bBrowse, LVIF_TEXT, CovertIntToCString( use.bBrowseUser ), -1,0,0,0);
			m_ListAllUser.SetItem(nIndex, user_Modify, LVIF_TEXT, CovertIntToCString( use.bModifyPopedom ), -1,0,0,0);
			m_ListAllUser.SetItem(nIndex, user_bStartExit, LVIF_TEXT, CovertIntToCString( use.bStartExit ), -1,0,0,0);
			m_ListAllUser.SetItem(nIndex, user_bSetSys, LVIF_TEXT, CovertIntToCString( use.bSetSys ), -1,0,0,0);
			m_ListAllUser.SetItem(nIndex, user_bDelRedata, LVIF_TEXT, CovertIntToCString( use.bDelRecord ), -1,0,0,0);
			m_ListAllUser.SetItem(nIndex, user_bEabRecord, LVIF_TEXT, CovertIntToCString( use.bEableRecord ), -1,0,0,0);
		}
	}	
	*pResult = 0;
}

//从数据库中初始化
CString CAllUser::CovertstrIntToCString(CString str)
{
	if(!str.Compare("1"))
	{
		return "√";
	}
	else
	{
		return "";
	}
}

int CAllUser::CovertCStringtoInt(CString str)
{
	if( !str.Compare("√"))
	{
		return 1;
	}
	else
	{
		return 0;
	}
}

CString CAllUser::CovertIntToCString(int bIs)
{
	if( bIs == 1 )
	{
		return "√";
	}
	else
	{
		return "";
	}
}

⌨️ 快捷键说明

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