From b252cbbaf2d9b5b9e8c31cf3d4deb6c4d575427a Mon Sep 17 00:00:00 2001 From: yuanyuanxiang <962914132@qq.com> Date: Thu, 7 May 2026 10:37:24 +0200 Subject: [PATCH] Fix: header sort broken after LVM_SETUNICODEFORMAT (also map HDN_ITEMCLICKW) The i18n commit (0aa7588) enabled LVM_SETUNICODEFORMAT(TRUE) on the online list. That flag also flips the embedded header control to Unicode mode, so header notifications switch from HDN_ITEMCLICKA (= HDN_ITEMCLICK in MBCS build) to HDN_ITEMCLICKW. The existing ON_NOTIFY mapping only handles the A version, so clicking the column header silently does nothing. Add a parallel ON_NOTIFY for HDN_ITEMCLICKW dispatching to the same handler. Co-Authored-By: Claude Opus 4.7 (1M context) --- server/2015Remote/2015RemoteDlg.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/2015Remote/2015RemoteDlg.cpp b/server/2015Remote/2015RemoteDlg.cpp index c65b7e6..438e9e2 100644 --- a/server/2015Remote/2015RemoteDlg.cpp +++ b/server/2015Remote/2015RemoteDlg.cpp @@ -739,7 +739,11 @@ BEGIN_MESSAGE_MAP(CMy2015RemoteDlg, CDialogEx) // 启用 LVM_SETUNICODEFORMAT 后,列表实际发送的是 LVN_GETDISPINFOW(即便工程是 MBCS)。 // MBCS 工程里 LVN_GETDISPINFO == LVN_GETDISPINFOA,两者码值不同,需各自映射。 ON_NOTIFY(LVN_GETDISPINFOW, IDC_ONLINE, &CMy2015RemoteDlg::OnGetDispInfoW) + // m_CList_Online 启用 LVM_SETUNICODEFORMAT(TRUE) 后,列头会发 HDN_ITEMCLICKW; + // MBCS 工程里 HDN_ITEMCLICK == HDN_ITEMCLICKA,码值跟 W 版不同,必须各自映射, + // 否则点表头排序失效。两条都注册到同一个处理函数。 ON_NOTIFY(HDN_ITEMCLICK, 0, &CMy2015RemoteDlg::OnHdnItemclickList) + ON_NOTIFY(HDN_ITEMCLICKW, 0, &CMy2015RemoteDlg::OnHdnItemclickList) ON_COMMAND(ID_ONLINE_MESSAGE, &CMy2015RemoteDlg::OnOnlineMessage) ON_COMMAND(ID_ONLINE_DELETE, &CMy2015RemoteDlg::OnOnlineDelete) ON_COMMAND(ID_ONLINE_UPDATE, &CMy2015RemoteDlg::OnOnlineUpdate)