Index: src/ch/RecentDlg.cpp =================================================================== diff -u -rd5c3edd0d167db9b5d47d04248820fda49499a5e -r8068e0c351055554340ac9755d1bc846893bf2b8 --- src/ch/RecentDlg.cpp (.../RecentDlg.cpp) (revision d5c3edd0d167db9b5d47d04248820fda49499a5e) +++ src/ch/RecentDlg.cpp (.../RecentDlg.cpp) (revision 8068e0c351055554340ac9755d1bc846893bf2b8) @@ -20,6 +20,7 @@ #include "ch.h" #include "RecentDlg.h" #include "dialogs.h" +#include "resource.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -31,12 +32,9 @@ // CRecentDlg dialog -CRecentDlg::CRecentDlg(CWnd* pParent /*=NULL*/) - :ictranslate::CLanguageDialog(CRecentDlg::IDD, pParent) +CRecentDlg::CRecentDlg(CWnd* pParent /*=nullptr*/) + :ictranslate::CLanguageDialog(IDD_RECENTEDIT_DIALOG, pParent) { - //{{AFX_DATA_INIT(CRecentDlg) - m_strPath = _T(""); - //}}AFX_DATA_INIT } @@ -67,6 +65,23 @@ { CLanguageDialog::OnInitDialog(); + AddResizableControl(IDC_001_STATIC, 0.0, 0.0, 1.0, 0.0); + AddResizableControl(IDC_RECENT_LIST, 0.0, 0.0, 1.0, 1.0); + + AddResizableControl(IDC_002_STATIC, 0.0, 1.0, 1.0, 0.0); + + AddResizableControl(IDC_PATH_EDIT, 0.0, 1.0, 1.0, 0.0); + AddResizableControl(IDC_BROWSE_BUTTON, 1.0, 1.0, 0.0, 0.0); + AddResizableControl(IDC_ADD_BUTTON, 0.0, 1.0, 0.0, 0.0); + AddResizableControl(IDC_CHANGE_BUTTON, 0.0, 1.0, 0.0, 0.0); + AddResizableControl(IDC_DELETE_BUTTON, 0.0, 1.0, 0.0, 0.0); + + AddResizableControl(IDOK, 1.0, 1.0, 0.0, 0.0); + AddResizableControl(IDCANCEL, 1.0, 1.0, 0.0, 0.0); + AddResizableControl(IDC_HELP_BUTTON, 1.0, 1.0, 0.0, 0.0); + + InitializeResizableControls(); + // system image list SHFILEINFO sfi; m_himl = (HIMAGELIST)SHGetFileInfo(_T("C:\\"), FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(SHFILEINFO), @@ -80,11 +95,11 @@ m_ctlRecent.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_ONECLICKACTIVATE | LVS_EX_INFOTIP | LVS_EX_UNDERLINEHOT); // update recent paths - for (int i=0;i<(int)m_cvRecent.size();i++) + for (size_t stIndex = 0; stIndex < m_cvRecent.size(); ++stIndex) { - sfi.iIcon=-1; - SHGetFileInfo(m_cvRecent.at(i), FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(sfi), SHGFI_SYSICONINDEX | SHGFI_LARGEICON); - m_ctlRecent.InsertItem(i, m_cvRecent.at(i), sfi.iIcon); + sfi.iIcon = -1; + SHGetFileInfo(m_cvRecent.at(stIndex), FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(sfi), SHGFI_SYSICONINDEX | SHGFI_LARGEICON); + m_ctlRecent.InsertItem(boost::numeric_cast(stIndex), m_cvRecent.at(stIndex), sfi.iIcon); } return TRUE; @@ -95,9 +110,9 @@ NM_LISTVIEW* plv = (NM_LISTVIEW*)pNMHDR; // current selection - if (plv->iItem >= 0 && plv->iItem < (int)m_cvRecent.size()) + if (plv->iItem >= 0 && plv->iItem < boost::numeric_cast(m_cvRecent.size())) { - m_strPath=m_cvRecent.at(plv->iItem); + m_strPath = m_cvRecent.at(plv->iItem); UpdateData(FALSE); } @@ -107,7 +122,7 @@ void CRecentDlg::OnBrowseButton() { CString strPath; - if (BrowseForFolder(GetResManager()->LoadString(IDS_BROWSE_STRING), &strPath)) + if (BrowseForFolder(GetResManager().LoadString(IDS_BROWSE_STRING), &strPath)) { m_strPath=strPath; UpdateData(FALSE); @@ -121,13 +136,13 @@ return; // add to a table - m_cvRecent.push_back((const PTSTR)(LPCTSTR)m_strPath, true); + m_cvRecent.push_back(m_strPath); // add to list with an icon SHFILEINFO sfi; sfi.iIcon=-1; SHGetFileInfo(m_strPath, FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(sfi), SHGFI_SYSICONINDEX | SHGFI_LARGEICON); - m_ctlRecent.InsertItem(m_cvRecent.size()-1, m_strPath, sfi.iIcon); + m_ctlRecent.InsertItem((UINT)m_cvRecent.size() - 1, m_strPath, sfi.iIcon); } void CRecentDlg::OnChangeButton() @@ -145,7 +160,7 @@ return; // array update - m_cvRecent.replace(m_cvRecent.begin()+iPos, (const PTSTR)(LPCTSTR)m_strPath, true, true); + m_cvRecent[iPos] = m_strPath; // list SHFILEINFO sfi; @@ -163,8 +178,8 @@ int iPos=-1; while (pos) { - iPos=m_ctlRecent.GetNextSelectedItem(pos); - m_cvRecent.erase(m_cvRecent.begin()+iPos, true); + iPos = m_ctlRecent.GetNextSelectedItem(pos); + m_cvRecent.erase(m_cvRecent.begin() + iPos); m_ctlRecent.DeleteItem(iPos); }