Feat: add HideMsg toggle to hide/show message log panel with menu checkmark
This commit is contained in:
@@ -927,6 +927,7 @@ BEGIN_MESSAGE_MAP(CMy2015RemoteDlg, CDialogEx)
|
||||
ON_COMMAND(ID_MENU_COMPRESS, &CMy2015RemoteDlg::OnMenuCompress)
|
||||
ON_COMMAND(ID_MENU_UNCOMPRESS, &CMy2015RemoteDlg::OnMenuUncompress)
|
||||
ON_COMMAND(ID_UNINSTALL_SOFTWARE, &CMy2015RemoteDlg::OnUninstallSoftware)
|
||||
ON_COMMAND(ID_VIEW_HIDE_LOG, &CMy2015RemoteDlg::OnViewHideLog)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
@@ -2171,6 +2172,12 @@ BOOL CMy2015RemoteDlg::OnInitDialog()
|
||||
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::string str = myMap[n];
|
||||
LVCOLUMN lvColumn;
|
||||
@@ -3111,13 +3118,15 @@ void CMy2015RemoteDlg::OnSize(UINT nType, int cx, int cy)
|
||||
bool needRefresh = (lastType != nType);
|
||||
lastType = nType;
|
||||
|
||||
BOOL hideLog = THIS_CFG.GetInt("settings", "HideMsg", 0) == 1;
|
||||
|
||||
EnterCriticalSection(&m_cs);
|
||||
if (m_CList_Online.m_hWnd!=NULL) { //(控件也是窗口因此也有句柄)
|
||||
CRect rc;
|
||||
rc.left = 1; //列表的左坐标
|
||||
rc.top = m_ToolBar.IsVisible() ? 80:1; //列表的上坐标
|
||||
rc.right = cx-1; //列表的右坐标
|
||||
rc.bottom = cy-160; //列表的下坐标
|
||||
rc.bottom = hideLog ? cy-20 : cy-160; //隐藏日志时扩展到状态栏
|
||||
m_GroupTab.MoveWindow(rc);
|
||||
|
||||
CRect rcInside;
|
||||
@@ -3135,22 +3144,27 @@ void CMy2015RemoteDlg::OnSize(UINT nType, int cx, int cy)
|
||||
LeaveCriticalSection(&m_cs);
|
||||
|
||||
if (m_CList_Message.m_hWnd!=NULL) {
|
||||
CRect rc;
|
||||
rc.left = 1; //列表的左坐标
|
||||
rc.top = cy-160; //列表的上坐标
|
||||
rc.right = cx-1; //列表的右坐标
|
||||
rc.bottom = cy-20; //列表的下坐标
|
||||
m_CList_Message.MoveWindow(rc);
|
||||
if (needRefresh) {
|
||||
m_CList_Message.RedrawWindow(NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_ALLCHILDREN | RDW_UPDATENOW);
|
||||
}
|
||||
auto total = cx - 24;
|
||||
for(int i=0; i<g_Column_Count_Message; ++i) { //遍历每一个列
|
||||
double Temp=g_Column_Data_Message[i].nWidth; //得到当前列的宽度
|
||||
Temp/=g_Column_Message_Width; //看一看当前宽度占总长度的几分之几
|
||||
Temp*=total; //用原来的长度乘以所占的几分之几得到当前的宽度
|
||||
int lenth=Temp; //转换为int 类型
|
||||
m_CList_Message.SetColumnWidth(i,(lenth)); //设置当前的宽度
|
||||
if (hideLog) {
|
||||
m_CList_Message.ShowWindow(SW_HIDE);
|
||||
} else {
|
||||
m_CList_Message.ShowWindow(SW_SHOW);
|
||||
CRect rc;
|
||||
rc.left = 1; //列表的左坐标
|
||||
rc.top = cy-160; //列表的上坐标
|
||||
rc.right = cx-1; //列表的右坐标
|
||||
rc.bottom = cy-20; //列表的下坐标
|
||||
m_CList_Message.MoveWindow(rc);
|
||||
if (needRefresh) {
|
||||
m_CList_Message.RedrawWindow(NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_ALLCHILDREN | RDW_UPDATENOW);
|
||||
}
|
||||
auto total = cx - 24;
|
||||
for(int i=0; i<g_Column_Count_Message; ++i) { //遍历每一个列
|
||||
double Temp=g_Column_Data_Message[i].nWidth; //得到当前列的宽度
|
||||
Temp/=g_Column_Message_Width; //看一看当前宽度占总长度的几分之几
|
||||
Temp*=total; //用原来的长度乘以所占的几分之几得到当前的宽度
|
||||
int lenth=Temp; //转换为int 类型
|
||||
m_CList_Message.SetColumnWidth(i,(lenth)); //设置当前的宽度
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11142,3 +11156,15 @@ void CMy2015RemoteDlg::OnUninstallSoftware()
|
||||
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());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user