From 5caf65c86911db078e366a44e23a26569f38fe91 Mon Sep 17 00:00:00 2001 From: ~ Alone <1197284744@qq.com> Date: Wed, 15 May 2024 22:19:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A6=E4=B8=8A=E8=A7=92=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E7=9A=84=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aike/LogInDlg.cpp | 31 +++++--- aike/LogInDlg.h | 5 +- aike/aikeDlg.cpp | 189 ++++++++++++++++++++++++++++++++-------------- aike/aikeDlg.h | 37 +++++---- 4 files changed, 176 insertions(+), 86 deletions(-) diff --git a/aike/LogInDlg.cpp b/aike/LogInDlg.cpp index 457b616..b634cdf 100644 --- a/aike/LogInDlg.cpp +++ b/aike/LogInDlg.cpp @@ -25,8 +25,8 @@ LogInDlg::~LogInDlg() BEGIN_MESSAGE_MAP(LogInDlg, MyDialog) ON_WM_PAINT() - ON_NOTIFY(BCN_HOTITEMCHANGE, IDC_CHECK1, &LogInDlg::OnBnHotItemChangeCheck1) - ON_NOTIFY(NM_THEMECHANGED, IDC_CHECK1, &LogInDlg::OnNMThemeChangedCheck1) +// ON_NOTIFY(BCN_HOTITEMCHANGE, IDC_CHECK1, &LogInDlg::OnBnHotItemChangeCheck1) +// ON_NOTIFY(NM_THEMECHANGED, IDC_CHECK1, &LogInDlg::OnNMThemeChangedCheck1) ON_BN_CLICKED(IDC_CHECK1, &LogInDlg::OnBnClickedCheck1) END_MESSAGE_MAP() @@ -83,6 +83,7 @@ VOID LogInDlg::LoginClick(int id) { dlg->LogName = Name; } + dlg->SetLogInInfo(dlg->LogName); MyDialog::OnOK(); break; case 2: @@ -100,24 +101,24 @@ VOID LogInDlg::CloseClick(int id) } -void LogInDlg::OnBnHotItemChangeCheck1(NMHDR* pNMHDR, LRESULT* pResult) -{ +//void LogInDlg::OnBnHotItemChangeCheck1(NMHDR* pNMHDR, LRESULT* pResult) +//{ // 此功能要求 Internet Explorer 6 或更高版本。 // 符号 _WIN32_IE 必须是 >= 0x0600。 - LPNMBCHOTITEM pHotItem = reinterpret_cast(pNMHDR); +// LPNMBCHOTITEM pHotItem = reinterpret_cast(pNMHDR); // TODO: 在此添加控件通知处理程序代码 - *pResult = 0; -} +// *pResult = 0; +//} -void LogInDlg::OnNMThemeChangedCheck1(NMHDR* pNMHDR, LRESULT* pResult) -{ +//void LogInDlg::OnNMThemeChangedCheck1(NMHDR* pNMHDR, LRESULT* pResult) +//{ // 该功能要求使用 Windows XP 或更高版本。 // 符号 _WIN32_WINNT 必须 >= 0x0501。 // TODO: 在此添加控件通知处理程序代码 - *pResult = 0; -} +// *pResult = 0; +//} void LogInDlg::OnBnClickedCheck1() @@ -125,3 +126,11 @@ void LogInDlg::OnBnClickedCheck1() GetDlgItem(IDC_EDIT1)->EnableWindow(!((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck()); // TODO: 在此添加控件通知处理程序代码 } + + +void LogInDlg::OnOK() +{ + // TODO: 在此添加专用代码和/或调用基类 + LoginClick(1); + //MyDialog::OnOK(); +} diff --git a/aike/LogInDlg.h b/aike/LogInDlg.h index e795cba..5b06b38 100644 --- a/aike/LogInDlg.h +++ b/aike/LogInDlg.h @@ -25,7 +25,8 @@ public: virtual BOOL OnInitDialog(); VOID LoginClick(int id); VOID CloseClick(int id); - afx_msg void OnBnHotItemChangeCheck1(NMHDR* pNMHDR, LRESULT* pResult); - afx_msg void OnNMThemeChangedCheck1(NMHDR* pNMHDR, LRESULT* pResult); +// afx_msg void OnBnHotItemChangeCheck1(NMHDR* pNMHDR, LRESULT* pResult); +// afx_msg void OnNMThemeChangedCheck1(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnBnClickedCheck1(); + virtual void OnOK(); }; diff --git a/aike/aikeDlg.cpp b/aike/aikeDlg.cpp index 02fa498..96bdfcc 100644 --- a/aike/aikeDlg.cpp +++ b/aike/aikeDlg.cpp @@ -8,7 +8,9 @@ #include "aikeDlg.h" #include "afxdialogex.h" - +#define IDR_MENU2 130 +#define ID_START_RANGE 131 +#define ID_END_RANGE 150 #ifdef _DEBUG #define new DEBUG_NEW @@ -41,9 +43,11 @@ BEGIN_MESSAGE_MAP(CaikeDlg, MyDialog) ON_WM_DESTROY() ON_COMMAND(ID_SHOW_MENU, &CaikeDlg::OnShowMenu) ON_COMMAND(ID_CLONE_MENU, &CaikeDlg::OnCloneMenu) + ON_COMMAND_RANGE(ID_START_RANGE, ID_END_RANGE, &CaikeDlg::OnCommand) END_MESSAGE_MAP() + // CaikeDlg 消息处理程序 BOOL CaikeDlg::OnInitDialog() @@ -138,6 +142,33 @@ void CaikeDlg::OnCloneMenu() MyDialog::OnCancel(); } +void CaikeDlg::OnCommand(UINT id) +{ + LogInDlg dlg(this); + switch (id) + { + case IDR_MENU2 + 1: + dlg.DoModal(); + break; + case IDR_MENU2 + 2: + dlg.DoModal(); + break; + case IDR_MENU2 + 3: + HomepageClick(0); + LogName = _T(""); + SetLogInInfo(_T("未登录")); + break; + case IDR_MENU2 + 4: + MyDialog::OnCancel(); + break; + case IDR_MENU2 + 5: + break; + default: + break; + } + +} + //初始化 VOID CaikeDlg::Initialize() { @@ -170,7 +201,7 @@ VOID CaikeDlg::Initialize() img.Destroy(); img.Load(_T("../aike/res/business.jpg")); img1.Load(_T("../aike/res/business1.jpg")); - AddButton(1000, rt, img, img1, img1, img1); + AddButton(100, rt, img, img1, img1, img1); rt.MoveToXY(300, 100); @@ -178,38 +209,43 @@ VOID CaikeDlg::Initialize() img1.Destroy(); img.Load(_T("../aike/res/member.jpg")); img1.Load(_T("../aike/res/member1.jpg")); - AddButton(2000, rt, img, img1, img1, img1); + AddButton(200, rt, img, img1, img1, img1); rt.MoveToXY(500, 100); img.Destroy(); img1.Destroy(); img.Load(_T("../aike/res/report.jpg")); img1.Load(_T("../aike/res/report1.jpg")); - AddButton(3000, rt, img, img1, img1, img1); + AddButton(300, rt, img, img1, img1, img1); rt.MoveToXY(100, 300); img.Destroy(); img1.Destroy(); img.Load(_T("../aike/res/Booking.jpg")); img1.Load(_T("../aike/res/Booking1.jpg")); - AddButton(4000, rt, img, img1, img1, img1); + AddButton(400, rt, img, img1, img1, img1); rt.MoveToXY(300, 300); img.Destroy(); img1.Destroy(); img.Load(_T("../aike/res/inventory.jpg")); img1.Load(_T("../aike/res/inventory1.jpg")); - AddButton(5000, rt, img, img1, img1, img1); + AddButton(500, rt, img, img1, img1, img1); rt.MoveToXY(500, 300); img.Destroy(); img1.Destroy(); img.Load(_T("../aike/res/basis.jpg")); img1.Load(_T("../aike/res/basis1.jpg")); - AddButton(6000, rt, img, img1, img1, img1); - SetLClick(6000, [this](int i) {SetUpClick(i); }); + + AddButton(600, rt, img, img1, img1, img1); + SetLClick(600, [this](int i) {SetUpClick(i); }); + rt = { 0,0,180,40 }; + AddButton(5, rt); + SetLogInInfo(_T("未登录")); + SetLClick(5, [this](int i) {LogInInfoClick(i); }); ShowButton(3, FALSE); MaxClick(0); @@ -353,17 +389,17 @@ VOID CaikeDlg::MoveAllWin() tt = { 0,0,180,180 }; CPoint pt = { (rt.Width() - 600) / 2,100 }; tt.MoveToXY(pt); - MoveButton(1000, tt); + MoveButton(100, tt); tt.MoveToXY(pt.x + 200, pt.y); - MoveButton(2000, tt); + MoveButton(200, tt); tt.MoveToXY(pt.x + 400, pt.y); - MoveButton(3000, tt); + MoveButton(300, tt); tt.MoveToXY(pt.x, pt.y + 200); - MoveButton(4000, tt); + MoveButton(400, tt); tt.MoveToXY(pt.x + 200, pt.y + 200); - MoveButton(5000, tt); + MoveButton(500, tt); tt.MoveToXY(pt.x + 400, pt.y + 200); - MoveButton(6000, tt); + MoveButton(600, tt); GetWindowRect(rt); rt.MoveToXY(-50, -50); @@ -386,12 +422,12 @@ VOID CaikeDlg::MoveAllWin() //隐藏所有按钮 VOID CaikeDlg::HideAllBt(BOOL Hide) { - ShowButton(1000, !Hide); - ShowButton(2000, !Hide); - ShowButton(3000, !Hide); - ShowButton(4000, !Hide); - ShowButton(5000, !Hide); - ShowButton(6000, !Hide); + ShowButton(100, !Hide); + ShowButton(200, !Hide); + ShowButton(300, !Hide); + ShowButton(400, !Hide); + ShowButton(500, !Hide); + ShowButton(600, !Hide); } //检查权限 @@ -485,10 +521,25 @@ INT CaikeDlg::CheckUser(CString Name, CString Pass, BOOL isSystem) return 0; } +VOID CaikeDlg::SetLogInInfo(CString info) +{ + CImage img; + img.Create(180, 40, 16); //创建图片 + HDC hdc = img.GetDC(); + SetBkMode(hdc, TRANSPARENT); + FillRect(hdc, CRect(0, 0, 180, 40), CreateSolidBrush(RGB(0, 255, 0))); + TextOut(hdc, 0, 0, _T("爱客"), 2); + TextOut(hdc, 0, 20, _T("软件"), 2); + TextOut(hdc, 50, 10, info, info.GetLength()); + //DrawText(hdc, _T("爱客"), -1, CRect(5, 5, 35, 35), DT_SINGLELINE | DT_CENTER | DT_VCENTER); + SetButImg(5, img, 5); + img.ReleaseDC(); +} + //设置按钮 VOID CaikeDlg::SetUpClick(int id) { - if (!CheckAuthority(_T("6000"))) + if (!CheckAuthority(_T("600"))) { return; } @@ -500,51 +551,51 @@ VOID CaikeDlg::SetUpClick(int id) SetLClick(1001, [this](int i) {HomepageClick(i); }); rt.MoveToXY(30, 90); - AddButton(6001, rt); - SetLClick(6001, [this](int i) {RoomSetUpClick(i); }); + AddButton(601, rt); + SetLClick(601, [this](int i) {RoomSetUpClick(i); }); rt.MoveToXY(30, 130); - AddButton(6002, rt); - SetLClick(6002, [this](int i) {CommodityClick(i); }); + AddButton(602, rt); + SetLClick(602, [this](int i) {CommodityClick(i); }); rt.MoveToXY(30, 170); - AddButton(6003, rt); - SetLClick(6003, [this](int i) {PaymentClick(i); }); + AddButton(603, rt); + SetLClick(603, [this](int i) {PaymentClick(i); }); rt.MoveToXY(30, 210); - AddButton(6004, rt); - SetLClick(6004, [this](int i) {MemberSetUpClick(i); }); + AddButton(604, rt); + SetLClick(604, [this](int i) {MemberSetUpClick(i); }); rt.MoveToXY(30, 250); - AddButton(6005, rt); - SetLClick(6005, [this](int i) {DiscountClick(i); }); + AddButton(605, rt); + SetLClick(605, [this](int i) {DiscountClick(i); }); rt.MoveToXY(30, 290); - AddButton(6006, rt); - SetLClick(6006, [this](int i) {StaffClick(i); }); + AddButton(606, rt); + SetLClick(606, [this](int i) {StaffClick(i); }); rt.MoveToXY(30, 330); - AddButton(6007, rt); - SetLClick(6007, [this](int i) {PrintSetUpClick(i); }); + AddButton(607, rt); + SetLClick(607, [this](int i) {PrintSetUpClick(i); }); rt.MoveToXY(30, 370); - AddButton(6008, rt); - SetLClick(6008, [this](int i) {CouponClick(i); }); + AddButton(608, rt); + SetLClick(608, [this](int i) {CouponClick(i); }); rt.MoveToXY(30, 410); - AddButton(6009, rt); - SetLClick(6009, [this](int i) {ParameterClick(i); }); + AddButton(609, rt); + SetLClick(609, [this](int i) {ParameterClick(i); }); } ShowButton(1001, TRUE); - ShowButton(6001, TRUE); - ShowButton(6002, TRUE); - ShowButton(6003, TRUE); - ShowButton(6004, TRUE); - ShowButton(6005, TRUE); - ShowButton(6006, TRUE); - ShowButton(6007, TRUE); - ShowButton(6008, TRUE); - ShowButton(6009, TRUE); + ShowButton(601, TRUE); + ShowButton(602, TRUE); + ShowButton(603, TRUE); + ShowButton(604, TRUE); + ShowButton(605, TRUE); + ShowButton(606, TRUE); + ShowButton(607, TRUE); + ShowButton(608, TRUE); + ShowButton(609, TRUE); } //回到主页 @@ -561,15 +612,15 @@ VOID CaikeDlg::HomepageClick(int id) m_ParameterDlg.ShowWindow(SW_HIDE); ShowButton(1001, FALSE); - ShowButton(6001, FALSE); - ShowButton(6002, FALSE); - ShowButton(6003, FALSE); - ShowButton(6004, FALSE); - ShowButton(6005, FALSE); - ShowButton(6006, FALSE); - ShowButton(6007, FALSE); - ShowButton(6008, FALSE); - ShowButton(6009, FALSE); + ShowButton(601, FALSE); + ShowButton(602, FALSE); + ShowButton(603, FALSE); + ShowButton(604, FALSE); + ShowButton(605, FALSE); + ShowButton(606, FALSE); + ShowButton(607, FALSE); + ShowButton(608, FALSE); + ShowButton(609, FALSE); HideAllBt(FALSE); } @@ -702,3 +753,27 @@ VOID CaikeDlg::ParameterClick(int id) m_ParameterDlg.ShowWindow(SW_SHOW); } +VOID CaikeDlg::LogInInfoClick(int id) +{ + CMenu subMenu; + subMenu.CreatePopupMenu(); + if (LogName == _T("")) + { + subMenu.AppendMenuW(MF_STRING, IDR_MENU2 + 1, TEXT("登录账号")); + } + else + { + subMenu.AppendMenuW(MF_STRING, IDR_MENU2 + 2, TEXT("切换账号")); + subMenu.AppendMenuW(MF_STRING, IDR_MENU2 + 3, TEXT("退出登录")); + subMenu.AppendMenuW(MF_STRING, IDR_MENU2 + 5, TEXT("修改密码")); + } + subMenu.AppendMenuW(MF_STRING, IDR_MENU2 + 4, TEXT("退出系统")); + CPoint pt; + GetCursorPos(&pt); + SetForegroundWindow(); + subMenu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, this); + //将这个subMenu添加到towMenu + //towMenu->AppendMenu(MF_POPUP, (UINT_PTR)subMenu.GetSafeHmenu(), TEXT("二级菜单3")); +} + + diff --git a/aike/aikeDlg.h b/aike/aikeDlg.h index ff79bff..0faa018 100644 --- a/aike/aikeDlg.h +++ b/aike/aikeDlg.h @@ -67,6 +67,7 @@ public: afx_msg void OnDestroy(); //窗口即将销毁 afx_msg void OnShowMenu(); //显示窗口(托盘消息) afx_msg void OnCloneMenu(); //关闭窗口(托盘消息) + afx_msg void OnCommand(UINT id); //自己创建的函数 VOID Initialize(); //初始化 @@ -80,6 +81,7 @@ public: VOID HideAllBt(BOOL Hide = TRUE); //隐藏所有按钮 BOOL CheckAuthority(CString Authority); //检查权限 INT CheckUser(CString Name, CString Pass, BOOL isSystem); //检查账号密码 + VOID SetLogInInfo(CString info); VOID SetUpClick(int id); //设置按钮 VOID HomepageClick(int id); //回到主页 VOID RoomSetUpClick(int id); //点击房间设置 @@ -91,6 +93,8 @@ public: VOID PrintSetUpClick(int id); //点击打印设置 VOID CouponClick(int id); //点击票券设置 VOID ParameterClick(int id); //点击参数设置 + VOID LogInInfoClick(int id); //点击参数设置 + }; @@ -100,20 +104,21 @@ public: 2 最大化 3 还原 4 关闭 -1000 前台营业 -2000 会员管理 -3000 报表管理 -4000 预定管理 -5000 库存管理 -6000 基础设置 -1001 返回主页 -6001 房间设置界面 -6002 商品信息界面 -6003 付款方式界面 -6004 会员设置界面 -6005 折扣方案界面 -6006 员工信息界面 -6007 打印设置界面 -6008 票券设置界面 -6009 参数设置界面 +5 显示软件图标和登录信息 +100 前台营业 +200 会员管理 +300 报表管理 +400 预定管理 +500 库存管理 +600 基础设置 +101 返回主页 +601 房间设置界面 +602 商品信息界面 +603 付款方式界面 +604 会员设置界面 +605 折扣方案界面 +606 员工信息界面 +607 打印设置界面 +608 票券设置界面 +609 参数设置界面 */ \ No newline at end of file