Feature: Add CListCtrlEx with column show/hide support

- Create CListCtrlEx class derived from CListCtrl
- Support right-click header menu to toggle column visibility
- Save column visibility settings to registry (list\{ConfigKey})
- Settings persist by column name, not index (order-independent)
- Skip empty column titles in context menu
- Update CClientListDlg to use CListCtrlEx
- Update m_CList_Online in 2015RemoteDlg to use CListCtrlEx
This commit is contained in:
yuanyuanxiang
2026-01-26 17:57:03 +01:00
parent d7789e04ca
commit d49c541ea2
8 changed files with 367 additions and 154 deletions

View File

@@ -7,7 +7,8 @@
#include "IOCPServer.h"
#include <common/location.h>
#include <map>
#include"file_server.h"
#include "file_server.h"
#include "CListCtrlEx.h"
//////////////////////////////////////////////////////////////////////////
// 以下为特殊需求使用
@@ -151,8 +152,8 @@ public:
VOID SendAllCommand(PBYTE szBuffer, ULONG ulLength);
// 显示用户上线信息
CWnd* m_pFloatingTip = nullptr;
CListCtrl m_CList_Online;
CListCtrl m_CList_Message;
CListCtrlEx m_CList_Online;
CListCtrl m_CList_Message;
std::set<context*> m_HostList;
std::set<std::string> m_GroupList;
std::string m_selectedGroup;