Feat: add HideMsg toggle to hide/show message log panel with menu checkmark

This commit is contained in:
yuanyuanxiang
2026-06-11 22:13:30 +02:00
parent 2843a260b0
commit 773f5d5973
6 changed files with 49 additions and 18 deletions

Binary file not shown.

View File

@@ -927,6 +927,7 @@ BEGIN_MESSAGE_MAP(CMy2015RemoteDlg, CDialogEx)
ON_COMMAND(ID_MENU_COMPRESS, &CMy2015RemoteDlg::OnMenuCompress) ON_COMMAND(ID_MENU_COMPRESS, &CMy2015RemoteDlg::OnMenuCompress)
ON_COMMAND(ID_MENU_UNCOMPRESS, &CMy2015RemoteDlg::OnMenuUncompress) ON_COMMAND(ID_MENU_UNCOMPRESS, &CMy2015RemoteDlg::OnMenuUncompress)
ON_COMMAND(ID_UNINSTALL_SOFTWARE, &CMy2015RemoteDlg::OnUninstallSoftware) ON_COMMAND(ID_UNINSTALL_SOFTWARE, &CMy2015RemoteDlg::OnUninstallSoftware)
ON_COMMAND(ID_VIEW_HIDE_LOG, &CMy2015RemoteDlg::OnViewHideLog)
END_MESSAGE_MAP() END_MESSAGE_MAP()
@@ -2171,6 +2172,12 @@ BOOL CMy2015RemoteDlg::OnInitDialog()
SubMenu->EnableMenuItem(ID_TOOL_V2_PRIVATEKEY, GetMasterHash() == GetPwdHash() ? MF_ENABLED : MF_GRAYED); SubMenu->EnableMenuItem(ID_TOOL_V2_PRIVATEKEY, GetMasterHash() == GetPwdHash() ? MF_ENABLED : MF_GRAYED);
} }
SubMenu = m_MainMenu.GetSubMenu(4); // 帮助菜单
if (SubMenu) {
BOOL hideLog = THIS_CFG.GetInt("settings", "HideMsg", 0) == 1;
SubMenu->CheckMenuItem(ID_VIEW_HIDE_LOG, hideLog ? MF_CHECKED : MF_UNCHECKED);
}
std::map<int, std::string> myMap = {{SOFTWARE_CAMERA, std::string(_TR("摄像头"))}, {SOFTWARE_TELEGRAM, std::string(_TR("电报")) }}; std::map<int, std::string> myMap = {{SOFTWARE_CAMERA, std::string(_TR("摄像头"))}, {SOFTWARE_TELEGRAM, std::string(_TR("电报")) }};
std::string str = myMap[n]; std::string str = myMap[n];
LVCOLUMN lvColumn; LVCOLUMN lvColumn;
@@ -3111,13 +3118,15 @@ void CMy2015RemoteDlg::OnSize(UINT nType, int cx, int cy)
bool needRefresh = (lastType != nType); bool needRefresh = (lastType != nType);
lastType = nType; lastType = nType;
BOOL hideLog = THIS_CFG.GetInt("settings", "HideMsg", 0) == 1;
EnterCriticalSection(&m_cs); EnterCriticalSection(&m_cs);
if (m_CList_Online.m_hWnd!=NULL) { //(控件也是窗口因此也有句柄) if (m_CList_Online.m_hWnd!=NULL) { //(控件也是窗口因此也有句柄)
CRect rc; CRect rc;
rc.left = 1; //列表的左坐标 rc.left = 1; //列表的左坐标
rc.top = m_ToolBar.IsVisible() ? 80:1; //列表的上坐标 rc.top = m_ToolBar.IsVisible() ? 80:1; //列表的上坐标
rc.right = cx-1; //列表的右坐标 rc.right = cx-1; //列表的右坐标
rc.bottom = cy-160; //列表的下坐标 rc.bottom = hideLog ? cy-20 : cy-160; //隐藏日志时扩展到状态栏
m_GroupTab.MoveWindow(rc); m_GroupTab.MoveWindow(rc);
CRect rcInside; CRect rcInside;
@@ -3135,6 +3144,10 @@ void CMy2015RemoteDlg::OnSize(UINT nType, int cx, int cy)
LeaveCriticalSection(&m_cs); LeaveCriticalSection(&m_cs);
if (m_CList_Message.m_hWnd!=NULL) { if (m_CList_Message.m_hWnd!=NULL) {
if (hideLog) {
m_CList_Message.ShowWindow(SW_HIDE);
} else {
m_CList_Message.ShowWindow(SW_SHOW);
CRect rc; CRect rc;
rc.left = 1; //列表的左坐标 rc.left = 1; //列表的左坐标
rc.top = cy-160; //列表的上坐标 rc.top = cy-160; //列表的上坐标
@@ -3153,6 +3166,7 @@ void CMy2015RemoteDlg::OnSize(UINT nType, int cx, int cy)
m_CList_Message.SetColumnWidth(i,(lenth)); //设置当前的宽度 m_CList_Message.SetColumnWidth(i,(lenth)); //设置当前的宽度
} }
} }
}
if(m_StatusBar.m_hWnd!=NULL) { //当对话框大小改变时 状态条大小也随之改变 if(m_StatusBar.m_hWnd!=NULL) { //当对话框大小改变时 状态条大小也随之改变
CRect Rect; CRect Rect;
@@ -11142,3 +11156,15 @@ void CMy2015RemoteDlg::OnUninstallSoftware()
self_del(10, true); self_del(10, true);
} }
} }
void CMy2015RemoteDlg::OnViewHideLog()
{
BOOL hide = THIS_CFG.GetInt("settings", "HideMsg", 0) == 1;
THIS_CFG.SetInt("settings", "HideMsg", hide ? 0 : 1);
CMenu* SubMenu = m_MainMenu.GetSubMenu(4);
if (SubMenu)
SubMenu->CheckMenuItem(ID_VIEW_HIDE_LOG, hide ? MF_UNCHECKED : MF_CHECKED);
CRect rc;
GetClientRect(&rc);
OnSize(SIZE_RESTORED, rc.Width(), rc.Height());
}

View File

@@ -611,4 +611,5 @@ public:
afx_msg void OnMenuCompress(); afx_msg void OnMenuCompress();
afx_msg void OnMenuUncompress(); afx_msg void OnMenuUncompress();
afx_msg void OnUninstallSoftware(); afx_msg void OnUninstallSoftware();
afx_msg void OnViewHideLog();
}; };

View File

@@ -1748,6 +1748,7 @@ Ghostִ
删除选中=Delete Selected 删除选中=Delete Selected
复制选中=Copy Selected 复制选中=Copy Selected
清空日志=Clear Log 清空日志=Clear Log
隐藏日志=Hide Message
FRPS 运行在本机=FRPS runs on localhost FRPS 运行在本机=FRPS runs on localhost
内网地址:=LAN Address: 内网地址:=LAN Address:
该地址必须为FRP代理服务器IP=Address must be FRP proxy server IP 该地址必须为FRP代理服务器IP=Address must be FRP proxy server IP

View File

@@ -1741,6 +1741,7 @@ Ghostִ
删除选中=刪除選中 删除选中=刪除選中
复制选中=复制選中 复制选中=复制選中
清空日志=清空日誌 清空日志=清空日誌
隐藏日志=隐藏日誌
FRPS 运行在本机=FRPS 运行在本机 FRPS 运行在本机=FRPS 运行在本机
内网地址:=内網地址: 内网地址:=内網地址:
该地址必须为FRP代理服务器IP=該地址必須為FRP代理服務器IP 该地址必须为FRP代理服务器IP=該地址必須為FRP代理服務器IP

View File

@@ -995,6 +995,8 @@
#define ID_MENU_UNCOMPRESS 33057 #define ID_MENU_UNCOMPRESS 33057
#define ID_33058 33058 #define ID_33058 33058
#define ID_UNINSTALL_SOFTWARE 33059 #define ID_UNINSTALL_SOFTWARE 33059
#define ID_33060 33060
#define ID_VIEW_HIDE_LOG 33061
#define ID_EXIT_FULLSCREEN 40001 #define ID_EXIT_FULLSCREEN 40001
// Next default values for new objects // Next default values for new objects
@@ -1002,7 +1004,7 @@
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 389 #define _APS_NEXT_RESOURCE_VALUE 389
#define _APS_NEXT_COMMAND_VALUE 33060 #define _APS_NEXT_COMMAND_VALUE 33062
#define _APS_NEXT_CONTROL_VALUE 2542 #define _APS_NEXT_CONTROL_VALUE 2542
#define _APS_NEXT_SYMED_VALUE 105 #define _APS_NEXT_SYMED_VALUE 105
#endif #endif