From 11ee8f6cca8b5fbfd1c6c63b2a6b9151a3f50279 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 07 一月 2025 11:52:10 +0800
Subject: [PATCH] 1.工具条按钮点击响应; 2.增加删除按钮;

---
 /dev/null                                                    |    0 
 SourceCode/Bond/BoounionPLC/BoounionPLC.rc                   |    0 
 SourceCode/Bond/BoounionPLC/BoounionPLCDlg.cpp               |   69 ++++++++++++++++++++++++++++++++++
 SourceCode/Bond/BoounionPLC/BoounionPLCDlg.h                 |    1 
 SourceCode/Bond/BoounionPLC/Resource.h                       |    0 
 SourceCode/Bond/BoounionPLC/TopToolbar.cpp                   |    8 ++++
 SourceCode/Bond/BoounionPLC/TopToolbar.h                     |    1 
 SourceCode/Bond/x64/BoounionPLC/Debug/Res/delete_gray_32.ico |    0 
 SourceCode/Bond/x64/BoounionPLC/Debug/Res/delete_blue_32.ico |    0 
 9 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/BoounionPLC/BoounionPLC.rc b/SourceCode/Bond/BoounionPLC/BoounionPLC.rc
index 8b8acc0..33b63ab 100644
--- a/SourceCode/Bond/BoounionPLC/BoounionPLC.rc
+++ b/SourceCode/Bond/BoounionPLC/BoounionPLC.rc
Binary files differ
diff --git a/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.cpp b/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.cpp
index 4295722..f23fc67 100644
--- a/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.cpp
+++ b/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.cpp
@@ -77,6 +77,7 @@
 	ON_UPDATE_COMMAND_UI(ID_MENU_FILE_SETTINGS, &CBoounionPLCDlg::OnUpdateMenuFileSettings)
 	ON_COMMAND(ID_MENU_HELP_ABOUT, &CBoounionPLCDlg::OnMenuHelpAbout)
 	ON_WM_INITMENUPOPUP()
+	ON_MESSAGE(ID_MSG_TOOLBAR_BTN_CLICKED, &CBoounionPLCDlg::OnToolbarBtnClicked)
 END_MESSAGE_MAP()
 
 
@@ -347,3 +348,71 @@
 	CAboutDlg dlgAbout;
 	dlgAbout.DoModal();
 }
+
+LRESULT CBoounionPLCDlg::OnToolbarBtnClicked(WPARAM wParam, LPARAM lParam)
+{
+	int id = (int)lParam;
+	if (id == IDC_BUTTON_ADD) {
+		AfxMessageBox("IDC_BUTTON_ADD");
+	}
+	else if (id == IDC_BUTTON_DELETE) {
+		AfxMessageBox("IDC_BUTTON_DELETE");
+	}
+	else if (id == IDC_BUTTON_SETTINGS) {
+
+	}
+	else if (id == IDC_BUTTON_OPERATOR) {
+		/*
+		int menuId = (int)wParam;
+		UserManager& userManager = UserManager::getInstance();
+		if (menuId == 0) {
+			CLoginDlg loginDlg;
+			loginDlg.DoModal();
+		}
+		else if (1 == menuId) {
+			CChangePasswordDlg changePasswordDlg;
+			changePasswordDlg.DoModal();
+		}
+		else if (2 == menuId) {
+			CUserManagerDlg dlg;
+			if (dlg.DoModal() != IDOK) {
+				logManager.log(SystemLogManager::LogType::Operation, _T("用户管理的预操作被取消!"));
+			}
+		}
+		else if (3 == menuId) {
+			CSystemLogManagerDlg dlg;
+			dlg.DoModal();
+		}
+		else if (4 == menuId) {
+			int ret = AfxMessageBox(_T("是否切换用户?切换用户会退出当前账号!"), MB_OKCANCEL | MB_ICONEXCLAMATION);
+			if (ret != IDOK) {
+				return 0;
+			}
+
+			logManager.log(SystemLogManager::LogType::Operation, _T("确认切换角色!"));
+			if (userManager.isLoggedIn()) {
+				logManager.log(SystemLogManager::LogType::Info, _T("退出登录!"));
+				userManager.logout();
+			}
+
+			CLoginDlg loginDlg;
+			loginDlg.DoModal();
+		}
+		else {
+			CString cstrMessage;
+			cstrMessage.Format(_T("是否退出用户 [%s]?"), userManager.getCurrentUser().c_str());
+			int ret = AfxMessageBox(_T(cstrMessage), MB_OKCANCEL | MB_ICONEXCLAMATION);
+			if (ret != IDOK) {
+				return 0;
+			}
+
+			logManager.log(SystemLogManager::LogType::Info, _T("退出登录!"));
+			userManager.logout();
+		}
+
+		UpdateLoginStatus();
+		*/
+	}
+
+	return 0;
+}
diff --git a/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.h b/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.h
index 9a6da53..e6665ec 100644
--- a/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.h
+++ b/SourceCode/Bond/BoounionPLC/BoounionPLCDlg.h
@@ -54,4 +54,5 @@
 	afx_msg void OnMenuFileExit();
 	afx_msg void OnUpdateMenuFileExit(CCmdUI* pCmdUI);
 	afx_msg void OnMenuHelpAbout();
+	afx_msg LRESULT OnToolbarBtnClicked(WPARAM wParam, LPARAM lParam);
 };
diff --git a/SourceCode/Bond/BoounionPLC/Resource.h b/SourceCode/Bond/BoounionPLC/Resource.h
index 0267c05..ad31cf3 100644
--- a/SourceCode/Bond/BoounionPLC/Resource.h
+++ b/SourceCode/Bond/BoounionPLC/Resource.h
Binary files differ
diff --git a/SourceCode/Bond/BoounionPLC/TopToolbar.cpp b/SourceCode/Bond/BoounionPLC/TopToolbar.cpp
index 5cd0f56..0fbbb05 100644
--- a/SourceCode/Bond/BoounionPLC/TopToolbar.cpp
+++ b/SourceCode/Bond/BoounionPLC/TopToolbar.cpp
@@ -27,6 +27,7 @@
 {
 	CDialogEx::DoDataExchange(pDX);
 	DDX_Control(pDX, IDC_BUTTON_ADD, m_btnAdd);
+	DDX_Control(pDX, IDC_BUTTON_DELETE, m_btnDelete);
 	DDX_Control(pDX, IDC_BUTTON_SETTINGS, m_btnSettings);
 	DDX_Control(pDX, IDC_BUTTON_OPERATOR, m_btnOperator);
 }
@@ -48,6 +49,7 @@
 	CDialogEx::OnInitDialog();
 
 	InitBtn(m_btnAdd, "Add_blue_32.ico", "Add_Gray_32.ico");
+	InitBtn(m_btnDelete, "delete_blue_32.ico", "delete_Gray_32.ico");
 	InitBtn(m_btnSettings, "Settings_High_32.ico", "Settings_Gray_32.ico");
 	InitBtn(m_btnOperator, "Operator_High_32.ico", "Operator_Gray_32.ico");
 	HMENU hMenu = LoadMenu(AfxGetInstanceHandle(), MAKEINTRESOURCEA(IDR_MENU_OPEATOR));
@@ -107,6 +109,11 @@
 	x += BTN_WIDTH;
 	x += 2;
 
+	pItem = GetDlgItem(IDC_BUTTON_DELETE);
+	pItem->MoveWindow(x, y, BTN_WIDTH, nBthHeight);
+	x += BTN_WIDTH;
+	x += 2;
+
 	pItem = GetDlgItem(IDC_TOOLBAR_LINE1);
 	pItem->MoveWindow(x, y + 6, 2, nBthHeight - 12);
 	x += 4;
@@ -161,6 +168,7 @@
 {
 	switch (LOWORD(wParam)) {
 	case IDC_BUTTON_ADD:
+	case IDC_BUTTON_DELETE:
 	case IDC_BUTTON_SETTINGS:
 		GetParent()->SendMessage(ID_MSG_TOOLBAR_BTN_CLICKED, 0, LOWORD(wParam));
 		break;
diff --git a/SourceCode/Bond/BoounionPLC/TopToolbar.h b/SourceCode/Bond/BoounionPLC/TopToolbar.h
index 58005b4..17dd1b9 100644
--- a/SourceCode/Bond/BoounionPLC/TopToolbar.h
+++ b/SourceCode/Bond/BoounionPLC/TopToolbar.h
@@ -31,6 +31,7 @@
 
 private:
 	CBlButton m_btnAdd;
+	CBlButton m_btnDelete;
 	CBlButton m_btnSettings;
 	CBlButton m_btnOperator;
 
diff --git a/SourceCode/Bond/x64/BoounionPLC/Debug/Res/delete_blue_32.ico b/SourceCode/Bond/x64/BoounionPLC/Debug/Res/delete_blue_32.ico
new file mode 100644
index 0000000..16cbb8a
--- /dev/null
+++ b/SourceCode/Bond/x64/BoounionPLC/Debug/Res/delete_blue_32.ico
Binary files differ
diff --git a/SourceCode/Bond/x64/BoounionPLC/Debug/Res/delete_gray_32.ico b/SourceCode/Bond/x64/BoounionPLC/Debug/Res/delete_gray_32.ico
new file mode 100644
index 0000000..d53d1fe
--- /dev/null
+++ b/SourceCode/Bond/x64/BoounionPLC/Debug/Res/delete_gray_32.ico
Binary files differ
diff --git a/SourceCode/Bond/x64/Debug/res2/add_blue_32.ico b/SourceCode/Bond/x64/Debug/res2/add_blue_32.ico
deleted file mode 100644
index 6ad7455..0000000
--- a/SourceCode/Bond/x64/Debug/res2/add_blue_32.ico
+++ /dev/null
Binary files differ
diff --git a/SourceCode/Bond/x64/Debug/res2/add_gray_32.ico b/SourceCode/Bond/x64/Debug/res2/add_gray_32.ico
deleted file mode 100644
index a727e6c..0000000
--- a/SourceCode/Bond/x64/Debug/res2/add_gray_32.ico
+++ /dev/null
Binary files differ

--
Gitblit v1.9.3