📄 systemdlg.cpp
字号:
// SYSTEMDLG.cpp : implementation file
//
#include "stdafx.h"
#include "常州旅游管理系统.h"
#include "SYSTEMDLG.h"
#include "SYSDLG.h"
#include "PasswordSet.h"
#include "EDITPSDDLG.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// SYSTEMDLG dialog
SYSTEMDLG::SYSTEMDLG(CWnd* pParent /*=NULL*/)
: CDialog(SYSTEMDLG::IDD, pParent)
{
//{{AFX_DATA_INIT(SYSTEMDLG)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
flag=0;
}
void SYSTEMDLG::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(SYSTEMDLG)
DDX_Control(pDX, IDOK, m_ok);
DDX_Control(pDX, IDCANCEL, m_cancel);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(SYSTEMDLG, CDialog)
//{{AFX_MSG_MAP(SYSTEMDLG)
ON_COMMAND(ID_MODIPSD, OnModipsd)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// SYSTEMDLG message handlers
BOOL SYSTEMDLG::OnInitDialog()
{
CDialog::OnInitDialog();
pNewMenu=new CMenu;
pNewMenu->LoadMenu(IDR_MENU1);
SetMenu(pNewMenu);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void SYSTEMDLG::OnModipsd()
{
EDITPSDDLG dlg;
CString password,user,strtemp;
m_database=new CDatabase;
m_database->Open("景点管理",FALSE,FALSE,"ODBC;UID=sa;PWD=",TRUE);
m_Set=new PasswordSet(m_database);
CString strSQL="select * from 用户密码表";
//打开用户密码表
m_Set->Open(CRecordset::snapshot,strSQL);
for(int i=0;i<3;i++)
{
if(dlg.DoModal()==IDOK)
{
if(dlg.m_prepsd=="")
{
AfxMessageBox("您没有输入原密码,请输入原密码!");
continue;
}
m_Set->MoveFirst();//从第一条记录开始
while(!m_Set->IsEOF())
{
user=m_Set->m_PASSWORD;//取密码表字段的成员变量值
password=m_Set->m_NAME;
password.TrimRight();
user.TrimRight();
if(dlg.m_prepsd==password)
{
flag=1;
m_Set->Close();//关闭数据库
break;
}
else
{
m_Set->MoveNext();//指向下一个记录
}
}
if(!flag)
{
AfxMessageBox("旧密码输入错误,请重新输入!");
continue;
}
else break;
}
else return;
}
if(!flag)
AfxMessageBox("对不起,您无权再输入!");
else
{
if(dlg.m_qupsd!=dlg.m_newpsd)
{
AfxMessageBox("确认密码错误,请重新修改密码!");
}
else
{ m_Set->Open();
m_Set->MoveFirst();//从第一条记录开始
while(!m_Set->IsEOF())
{
strtemp=m_Set->m_NAME;
strtemp.TrimRight();
if(strtemp==user)
{
m_Set->Edit();
m_Set->m_PASSWORD=dlg.m_newpsd;
m_Set->Update();
m_Set->Requery();
UpdateData(FALSE);
m_Set->Close();
AfxMessageBox("恭喜您,修改密码成功!");
break;
}
else
{
AfxMessageBox(m_Set->m_NAME);
AfxMessageBox(user);
m_Set->MoveNext();//指向下一个记录
}
}
}
}
}
void SYSTEMDLG::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect;
GetClientRect(rect);
CDC memDC;//定义一个兼容DC
memDC.CreateCompatibleDC(&dc);//创建DC
CBitmap bmpDraw;
bmpDraw.LoadBitmap(IDB_BITMAP3);//装入DDB
CBitmap* pbmpOld=memDC.SelectObject(&bmpDraw);//保存原有DDB,并选入新DDB入DC
dc.BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,SRCCOPY);//将源DC中(0,0,20,20)复制到目的DC(0,0,20,20)
// pDC->BitBlt(20,20,40,40,&memDC,0,0,SRCAND);//将源DC中(0,0,20,20)和目的DC(20,20,40,40)中区域进行AND操作
memDC.SelectObject(pbmpOld);//选入原DDB
// Do not call CDialog::OnPaint() for painting messages
}
void SYSTEMDLG::OnOK()
{
new CFaderWnd(this,2000);//实现渐隐效果
EndDialog(IDOK);//关闭对话框
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -