// DlgLogin.cpp: 实现文件 // #include "stdafx.h" #include "SATHelper.h" #include "DlgLogin.h" #include "afxdialogex.h" #include "SATClient.h" #include "DlgProBar.h" // 进度条; extern CDlgProBar* g_pDlgProBar; // CDlgLogin 对话框 IMPLEMENT_DYNAMIC(CDlgLogin, CDialogEx) CDlgLogin::CDlgLogin(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_DLG_LOGIN, pParent) { } CDlgLogin::~CDlgLogin() { } void CDlgLogin::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CDlgLogin, CDialogEx) ON_BN_CLICKED(IDOK, &CDlgLogin::OnBnClickedOk) ON_BN_CLICKED(IDCANCEL, &CDlgLogin::OnBnClickedCancel) END_MESSAGE_MAP() // CDlgLogin 消息处理程序 BOOL CDlgLogin::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: 在此添加额外的初始化 SetDlgItemText(IDC_EDIT_USERNAME, Global::g_Config.strSATUserName.c_str()); SetDlgItemText(IDC_EDIT_PASSWORD, Global::g_Config.strSATPassword.c_str()); SetDlgItemText(IDOK, SATData::login_resp.bStatus ? GlobalString::g_strLogin : GlobalString::g_strLogout); return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } void CDlgLogin::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 UpdateData(FALSE); CString strUserName, strPassword; GetDlgItemText(IDC_EDIT_USERNAME, strUserName); GetDlgItemText(IDC_EDIT_PASSWORD, strPassword); if (!SATData::login_resp.bStatus) { if (CSATClient::GetInstance()->TCPLogin(strUserName.GetString(), strPassword.GetString(), Global::g_Config.strActuator)) { while (g_pDlgProBar) { Sleep(500); } if (!SATData::login_resp.bStatus) AfxMessageBox(GlobalString::g_strLoginFail); } } else { if (CSATClient::GetInstance()->TCPLogout(strUserName.GetString(), strPassword.GetString(), Global::g_Config.strActuator)) { while (g_pDlgProBar) { Sleep(500); } if (!SATData::logout_resp.bStatus) AfxMessageBox(GlobalString::g_strLogoutFail); } } CDialogEx::OnOK(); } void CDlgLogin::OnBnClickedCancel() { // TODO: 在此添加控件通知处理程序代码 CDialogEx::OnCancel(); }