From 92ded3a6c150c3ae8eb89f765d90eb67c748422f Mon Sep 17 00:00:00 2001 From: yuanyuanxiang <962914132@qq.com> Date: Sun, 13 Jul 2025 16:01:27 +0800 Subject: [PATCH] CFileManagerDlg: Use global `CImageList` --- server/2015Remote/2015RemoteDlg.cpp | 2 ++ server/2015Remote/FileManagerDlg.cpp | 36 ++-------------------------- server/2015Remote/FileManagerDlg.h | 3 --- 3 files changed, 4 insertions(+), 37 deletions(-) diff --git a/server/2015Remote/2015RemoteDlg.cpp b/server/2015Remote/2015RemoteDlg.cpp index c070a65..7d2acb2 100644 --- a/server/2015Remote/2015RemoteDlg.cpp +++ b/server/2015Remote/2015RemoteDlg.cpp @@ -1739,6 +1739,8 @@ BOOL CALLBACK CMy2015RemoteDlg::NotifyProc(CONTEXT_OBJECT* ContextObject) AUTO_TICK(50); if (ContextObject->hWnd) { + if (!IsWindow(ContextObject->hWnd)) + return FALSE; DialogBase* Dlg = (DialogBase*)ContextObject->hDlg; Dlg->MarkReceiving(true); Dlg->OnReceiveComplete(); diff --git a/server/2015Remote/FileManagerDlg.cpp b/server/2015Remote/FileManagerDlg.cpp index 471ddbc..25b680d 100644 --- a/server/2015Remote/FileManagerDlg.cpp +++ b/server/2015Remote/FileManagerDlg.cpp @@ -46,38 +46,6 @@ CFileManagerDlg::CFileManagerDlg(CWnd* pParent, Server* pIOCPServer, ClientConte //}}AFX_DATA_INIT m_bIsClosed = false; m_ProgressCtrl = NULL; - SHFILEINFO sfi; - SHGetFileInfo - ( - "\\\\", - FILE_ATTRIBUTE_NORMAL, - &sfi, - sizeof(SHFILEINFO), - SHGFI_ICON | SHGFI_USEFILEATTRIBUTES - ); - // 加载系统图标列表 - static HIMAGELIST hImageList_Large = (HIMAGELIST)SHGetFileInfo - ( - NULL, - 0, - &sfi, - sizeof(SHFILEINFO), - SHGFI_LARGEICON | SHGFI_SYSICONINDEX - ); - static CImageList *pLarge = CImageList::FromHandle(hImageList_Large); - m_pImageList_Large = pLarge; - - // 加载系统图标列表 - static HIMAGELIST hImageList_Small = (HIMAGELIST)SHGetFileInfo - ( - NULL, - 0, - &sfi, - sizeof(SHFILEINFO), - SHGFI_SMALLICON | SHGFI_SYSICONINDEX - ); - static CImageList *pSmall = CImageList::FromHandle(hImageList_Small); - m_pImageList_Small = pSmall; // 保存远程驱动器列表 memset(m_bRemoteDriveList, 0, sizeof(m_bRemoteDriveList)); @@ -252,8 +220,8 @@ BOOL CFileManagerDlg::OnInitDialog() SetWindowText(str); // 为列表视图设置ImageList - m_list_local.SetImageList(m_pImageList_Large, LVSIL_NORMAL); - m_list_local.SetImageList(m_pImageList_Small, LVSIL_SMALL); + m_list_local.SetImageList(&(THIS_APP->m_pImageList_Large), LVSIL_NORMAL); + m_list_local.SetImageList(&(THIS_APP->m_pImageList_Small), LVSIL_SMALL); // 创建带进度条的状态栏 if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, diff --git a/server/2015Remote/FileManagerDlg.h b/server/2015Remote/FileManagerDlg.h index e37998f..363a11f 100644 --- a/server/2015Remote/FileManagerDlg.h +++ b/server/2015Remote/FileManagerDlg.h @@ -85,9 +85,6 @@ public: CString GetParentDirectory(CString strPath); void OnReceiveComplete(); - CImageList* m_pImageList_Large; - CImageList* m_pImageList_Small; - int m_nNewIconBaseIndex; // 新加的ICON CProgressCtrl* m_ProgressCtrl;