📄 mimadlg.cpp
字号:
// MIMADLG.cpp : implementation file
//
#include "stdafx.h"
#include "zhurui_jk02_人事管理.h"
#include "MIMADLG.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMIMADLG dialog
CMIMADLG::CMIMADLG(CWnd* pParent /*=NULL*/)
: CDialog(CMIMADLG::IDD, pParent)
{
//{{AFX_DATA_INIT(CMIMADLG)
m_ID = _T("");
m_MIMA = _T("");
m_MIMA1 = _T("");
//}}AFX_DATA_INIT
}
void CMIMADLG::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMIMADLG)
DDX_Text(pDX, IDC_ID, m_ID);
DDX_Text(pDX, IDC_MIMA, m_MIMA);
DDV_MaxChars(pDX, m_MIMA, 10);
DDX_Text(pDX, IDC_MIMA1, m_MIMA1);
DDV_MaxChars(pDX, m_MIMA1, 10);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMIMADLG, CDialog)
//{{AFX_MSG_MAP(CMIMADLG)
ON_WM_NCMOUSEMOVE()
ON_WM_NCLBUTTONDOWN()
ON_WM_CTLCOLOR()
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMIMADLG message handlers
void CMIMADLG::OnNcMouseMove(UINT nHitTest, CPoint point)
{
CRect rc;
this->GetWindowRect(&rc);
CDC* dc;
dc=GetWindowDC();
CDC memdc;
memdc.CreateCompatibleDC(dc);
CRect rc_window,rc_min,rc_close;
GetWindowRect(&rc_window);
rc_min.left=rc_window.right-90;
rc_min.right=rc_window.right-65;
rc_min.top=rc_window.top;
rc_min.bottom=rc_window.top+21;
rc_close.left=rc_window.right-45;
rc_close.right=rc_window.right-7;
rc_close.top=rc_window.top;
rc_close.bottom=rc_window.top+18;
CBitmap bmp,bmp1,*oldbmp;
if(rc_close.PtInRect(point))
{
bmp.LoadBitmap("IDB_CLOSE");
}
else
{
bmp.LoadBitmap("IDB_NORMAL");
}
oldbmp=memdc.SelectObject(&bmp);
dc->BitBlt(rc.Width()-93,0,93,30,&memdc,0,0,SRCCOPY);
bmp1.LoadBitmap("IDB_TOP");
memdc.SelectObject(&bmp1);
dc->BitBlt(0,0,rc.Width()-93,30,&memdc,0,0,SRCCOPY);
memdc.SelectObject(oldbmp);
bmp1.DeleteObject();
bmp.DeleteObject();
ReleaseDC(&memdc);
ReleaseDC(dc);
memdc.DeleteDC();
// dc->DeleteDC();
}
void CMIMADLG::OnNcLButtonDown(UINT nHitTest, CPoint point)
{
CRect rc_window,rc_min,rc_close;
GetWindowRect(&rc_window);
rc_close.left=rc_window.right-45;
rc_close.right=rc_window.right-7;
rc_close.top=rc_window.top;
rc_close.bottom=rc_window.top+21;
if(rc_close.PtInRect(point))
{
SendMessage(WM_CLOSE);
}
else
{
Default();
}
}
HBRUSH CMIMADLG::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor == CTLCOLOR_DLG)
{
//返回对话框的颜色
hbr=(HBRUSH)::CreateSolidBrush(RGB(0,255,255));
}
HBRUSH hbr0=(HBRUSH)::GetStockObject(NULL_BRUSH);
if(nCtlColor==CTLCOLOR_STATIC)
{
//让静态文本框透明
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,255,255)); //设置字体颜色为红色(密码警示)
HBRUSH hbr0=(HBRUSH)::GetStockObject(NULL_BRUSH);
return hbr0 ;
}
if(nCtlColor==CTLCOLOR_EDIT)
{
//让文本框不透明
pDC->SetBkMode(1);
pDC->SetBkColor(RGB(0,255,255));
pDC->SetTextColor(RGB(0,0,255));
HBRUSH hbr0=(HBRUSH)::GetStockObject(NULL_BRUSH);
return hbr0 ;
}
return hbr ;
}
void CMIMADLG::OnPaint()
{
CRect rc,rc_client;
CPaintDC dc0(this); // device context for painting
CDC* dc;
dc=this->GetWindowDC();
CDC memdc;
memdc.CreateCompatibleDC(dc);
CBitmap bmp,bmp1;
bmp.LoadBitmap("IDB_TOP");
memdc.SelectObject(&bmp);
this->GetWindowRect(&rc);
dc->BitBlt(0,0,rc.Width(),30,&memdc,0,0,SRCCOPY);
bmp.DeleteObject();
bmp1.LoadBitmap("IDB_NORMAL");
memdc.SelectObject(&bmp1);
dc->BitBlt(rc.Width()-93,0,93,30,&memdc,0,0,SRCCOPY);
memdc.DeleteDC();
// dc->DeleteDC();
// Do not call CDialog::OnPaint() for painting messages
}
BOOL CMIMADLG::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_btn_QUEDING.AutoLoad(IDOK,this);
m_btn_QUXIAO.AutoLoad(IDCANCLE,this);
m_btn_QUEDING.m_pbtn=(CSAMBTN*)this->GetDlgItem(IDOK);
m_btn_QUXIAO.m_pbtn=(CSAMBTN*)this->GetDlgItem(IDCANCLE);
CDatabase db;
db.Open("sam人事管理");
CRecordset rs(&db);
rs.Open(CRecordset::forwardOnly,"select ID from 当前用户 where POS=1");
CString strID;
rs.GetFieldValue("ID",strID);
m_ID=strID;
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CMIMADLG::OnOK()
{
// TODO: Add extra validation here
UpdateData();
if(m_MIMA!=m_MIMA1)
{
AfxMessageBox("两次输入密码不一致!");
}
else
if(m_MIMA=="")
{
AfxMessageBox("密码不能为空!");
}
else
{
CDatabase db;
db.Open("sam人事管理");
CString strSQL;
strSQL="update 员工 set PASSWORD='"+m_MIMA+"' where ID='"+m_ID+"' ; ";
db.ExecuteSQL(strSQL);
db.Close();
CDialog::OnOK();
AfxMessageBox("密码修改成功!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -