📄 commandbands.cpp
字号:
if(g_MainWnd.m_Compress.IsCompress(nCompDLL)) {
EnableMenuItem(hMenu, ID_FILE_COMPRESS, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hSubMenu2, ID_FILE_COMPRESS, MF_BYCOMMAND|MF_ENABLED);
} else {
EnableMenuItem(hMenu, ID_FILE_COMPRESS, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hSubMenu2, ID_FILE_COMPRESS, MF_BYCOMMAND|MF_GRAYED);
}
if(g_MainWnd.m_Compress.IsUnCompress()) {
EnableMenuItem(hMenu, ID_FILE_UNCOMPRESS, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hSubMenu, ID_FILE_UNCOMPRESS, MF_BYCOMMAND|MF_ENABLED);
} else {
EnableMenuItem(hMenu, ID_FILE_UNCOMPRESS, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hSubMenu, ID_FILE_UNCOMPRESS, MF_BYCOMMAND|MF_GRAYED);
}
}
///////////////////////////////////////////////////////////////
void CCmdBands::SetEnableSearchSelected(HMENU hMenu, LPTSTR lpszPath)
{
if(wcscmp(SEARCH_FOLDER_NAME, lpszPath)==0)
{
EnableMenuItem(hMenu, ID_FILE_CREATE_SHORTCUT, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_CREATEFOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_PASTE_SHORTCUT, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_CREATEFOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_COMPRESS, MF_BYCOMMAND|MF_GRAYED);
}
}
//ADD END
///////////////////////////////////////////////////////////////
void CCmdBands::SetEnableItemSelected()
{
HMENU hMenu = CommandBar_GetMenu(m_hMenubar, 0);
if (g_MainWnd.m_ListView.GetValidAndSelectedCount())
{
//儊僯儏乕傪桳岠偵
EnableMenuItem(hMenu, ID_FILE_OPEN, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_OPEN_PARAM, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_CREATE_SHORTCUT, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_DELETE, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_RENAME, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_PROPERTY, MF_BYCOMMAND|MF_ENABLED);
// EnableMenuItem(hMenu, ID_FILE_IR_SEND, MF_BYCOMMAND|MF_ENABLED); //DEL TODA (from GSFinder ver.1.99)
EnableMenuItem(hMenu, ID_FILE_COPY_FOLDER, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_MOVE_FOLDER, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_SHORTCUT_FOLDER, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_EDIT_CUT, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_EDIT_COPY, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_EDIT_COPY_FILE_NAME, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_EDIT_COPY_FILE_PATH, MF_BYCOMMAND|MF_ENABLED);
//ADD START TODA (埑弅儊僯儏乕)
SetEnableCompressSelected(GetSubMenu(hMenu, 0), 0, 8, g_MainWnd.m_ListView.m_Settings.nCompDLL);
//ADD END
//DEL START TODA (from GSFinder ver.1.99)
// for (int i=0; i<g_MainWnd.m_ListView.m_nOpenAppInfoCount; i++)
// EnableMenuItem(hMenu, ID_FILE_OPEN_APP + i, MF_BYCOMMAND|MF_ENABLED);
//DEL END
//僣乕儖僶乕傪桳岠偵
SendMessage(m_hToolbar, TB_SETSTATE, ID_FILE_DELETE, TBSTATE_ENABLED);
SendMessage(m_hToolbar, TB_SETSTATE, ID_FILE_PROPERTY, TBSTATE_ENABLED);
SendMessage(m_hToolbar, TB_SETSTATE, ID_EDIT_CUT, TBSTATE_ENABLED);
SendMessage(m_hToolbar, TB_SETSTATE, ID_EDIT_COPY, TBSTATE_ENABLED);
//ADD START TODA (from GSFinder ver.1.99)
if (g_MainWnd.m_ListView.IsSelectionFile())
{
EnableMenuItem(hMenu, ID_FILE_IR_SEND, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_TO_APP, MF_BYCOMMAND|MF_ENABLED);
for (int i=0; i<g_MainWnd.m_ListView.m_nOpenAppInfoCount; i++)
EnableMenuItem(hMenu, ID_FILE_OPEN_APP + i, MF_BYCOMMAND|MF_ENABLED);
}
else
{
EnableMenuItem(hMenu, ID_FILE_IR_SEND, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_TO_APP, MF_BYCOMMAND|MF_GRAYED);
for (int i=0; i<g_MainWnd.m_ListView.m_nOpenAppInfoCount; i++)
EnableMenuItem(hMenu, ID_FILE_OPEN_APP + i, MF_BYCOMMAND|MF_GRAYED);
}
//ADD END
}
else if (ListView_GetSelectedCount(g_MainWnd.m_ListView.m_hWnd))
{
//儊僯儏乕傪柍岠偵
EnableMenuItem(hMenu, ID_FILE_OPEN, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_OPEN_PARAM, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_CREATE_SHORTCUT, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_DELETE, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_RENAME, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_PROPERTY, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_IR_SEND, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_COPY_FOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_MOVE_FOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_SHORTCUT_FOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_TO_APP, MF_BYCOMMAND|MF_GRAYED); //ADD TODA (from GSFinder ver.1.99)
EnableMenuItem(hMenu, ID_EDIT_CUT, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_COPY, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_COPY_FILE_NAME, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_COPY_FILE_PATH, MF_BYCOMMAND|MF_GRAYED);
//ADD START TODA
EnableMenuItem(hMenu, ID_FILE_COMPRESS, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_UNCOMPRESS, MF_BYCOMMAND|MF_GRAYED);
//ADD END
for (int i=0; i<g_MainWnd.m_ListView.m_nOpenAppInfoCount; i++)
EnableMenuItem(hMenu, ID_FILE_OPEN_APP + i, MF_BYCOMMAND|MF_GRAYED);
//僣乕儖僶乕傪柍岠偵
SendMessage(m_hToolbar, TB_SETSTATE, ID_FILE_DELETE, TBSTATE_INDETERMINATE);
SendMessage(m_hToolbar, TB_SETSTATE, ID_FILE_PROPERTY, TBSTATE_INDETERMINATE);
SendMessage(m_hToolbar, TB_SETSTATE, ID_EDIT_CUT, TBSTATE_INDETERMINATE);
SendMessage(m_hToolbar, TB_SETSTATE, ID_EDIT_COPY, TBSTATE_INDETERMINATE);
}
else
{
//儊僯儏乕傪柍岠偵
EnableMenuItem(hMenu, ID_FILE_OPEN, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_OPEN_PARAM, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_CREATE_SHORTCUT, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_DELETE, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_RENAME, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_PROPERTY, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_IR_SEND, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_COPY_FOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_MOVE_FOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_CUT, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_EDIT_COPY, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_SHORTCUT_FOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_TO_APP, MF_BYCOMMAND|MF_GRAYED); //ADD TODA (from GSFinder ver.1.99)
EnableMenuItem(hMenu, ID_EDIT_CUT, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_COPY, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_COPY_FILE_NAME, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_COPY_FILE_PATH, MF_BYCOMMAND|MF_GRAYED);
//ADD START TODA
EnableMenuItem(hMenu, ID_FILE_COMPRESS, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_UNCOMPRESS, MF_BYCOMMAND|MF_GRAYED);
//ADD END
for (int i=0; i<g_MainWnd.m_ListView.m_nOpenAppInfoCount; i++)
EnableMenuItem(hMenu, ID_FILE_OPEN_APP + i, MF_BYCOMMAND|MF_GRAYED);
//僣乕儖僶乕傪柍岠偵
SendMessage(m_hToolbar, TB_SETSTATE, ID_FILE_DELETE, TBSTATE_INDETERMINATE);
SendMessage(m_hToolbar, TB_SETSTATE, ID_FILE_PROPERTY, TBSTATE_INDETERMINATE);
SendMessage(m_hToolbar, TB_SETSTATE, ID_EDIT_CUT, TBSTATE_INDETERMINATE);
SendMessage(m_hToolbar, TB_SETSTATE, ID_EDIT_COPY, TBSTATE_INDETERMINATE);
}
//ADD START TODA (専嶕偺桳岠/柍岠敾掕)
SetEnableSearchSelected(hMenu, g_MainWnd.m_ListView.m_szCurrentFolder);
//ADD END
}
//ADD START TODA (僣儕乕價儏乕梡儊僯儏乕愝掕)
///////////////////////////////////////////////////////////////
void CCmdBands::SetEnableItemSelected2()
{
HMENU hMenu = CommandBar_GetMenu(m_hMenubar, 0);
//儊僯儏乕傪桳岠偵
EnableMenuItem(hMenu, ID_FILE_OPEN, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_OPEN_PARAM, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_CREATE_SHORTCUT, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_DELETE, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_RENAME, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_PROPERTY, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_COPY_FOLDER, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_MOVE_FOLDER, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_FILE_SHORTCUT_FOLDER, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_EDIT_CUT, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_EDIT_COPY, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_EDIT_COPY_FILE_NAME, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_EDIT_COPY_FILE_PATH, MF_BYCOMMAND|MF_ENABLED);
SetEnableCompressSelected(GetSubMenu(hMenu, 0), 0, 8, g_MainWnd.m_ListView.m_Settings.nCompDLL);
//僣乕儖僶乕傪桳岠偵
SendMessage(m_hToolbar, TB_SETSTATE, ID_FILE_DELETE, TBSTATE_ENABLED);
SendMessage(m_hToolbar, TB_SETSTATE, ID_FILE_PROPERTY, TBSTATE_ENABLED);
SendMessage(m_hToolbar, TB_SETSTATE, ID_EDIT_CUT, TBSTATE_ENABLED);
SendMessage(m_hToolbar, TB_SETSTATE, ID_EDIT_COPY, TBSTATE_ENABLED);
EnableMenuItem(hMenu, ID_FILE_IR_SEND, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_TO_APP, MF_BYCOMMAND|MF_GRAYED);
for (int i=0; i<g_MainWnd.m_ListView.m_nOpenAppInfoCount; i++)
EnableMenuItem(hMenu, ID_FILE_OPEN_APP + i, MF_BYCOMMAND|MF_GRAYED);
}
///////////////////////////////////////////////////////////////
void CCmdBands::SetEnableItemSelected3()
{
HMENU hMenu = CommandBar_GetMenu(m_hMenubar, 0);
//儊僯儏乕傪桳岠偵
EnableMenuItem(hMenu, ID_EDIT_CUT, MF_BYCOMMAND|MF_ENABLED);
EnableMenuItem(hMenu, ID_EDIT_COPY, MF_BYCOMMAND|MF_ENABLED);
//儊僯儏乕傪柍岠偵
EnableMenuItem(hMenu, ID_FILE_OPEN, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_OPEN_PARAM, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_CREATE_SHORTCUT, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_DELETE, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_RENAME, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_PROPERTY, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_IR_SEND, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_COPY_FOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_MOVE_FOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_SHORTCUT_FOLDER, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_TO_APP, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_COPY_FILE_NAME, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_COPY_FILE_PATH, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_COMPRESS, MF_BYCOMMAND|MF_GRAYED);
EnableMenuItem(hMenu, ID_FILE_UNCOMPRESS, MF_BYCOMMAND|MF_GRAYED);
for (int i=0; i<g_MainWnd.m_ListView.m_nOpenAppInfoCount; i++)
EnableMenuItem(hMenu, ID_FILE_OPEN_APP + i, MF_BYCOMMAND|MF_GRAYED);
//僣乕儖僶乕傪桳岠偵
SendMessage(m_hToolbar, TB_SETSTATE, ID_EDIT_CUT, TBSTATE_ENABLED);
SendMessage(m_hToolbar, TB_SETSTATE, ID_EDIT_COPY, TBSTATE_ENABLED);
//僣乕儖僶乕傪柍岠偵
SendMessage(m_hToolbar, TB_SETSTATE, ID_FILE_DELETE, TBSTATE_INDETERMINATE);
SendMessage(m_hToolbar, TB_SETSTATE, ID_FILE_PROPERTY, TBSTATE_INDETERMINATE);
}
//ADD END
///////////////////////////////////////////////////////////////
void CCmdBands::OnAutoSize()
{
//MOD START TODA (HPC斉偵偰僐儞儃儃僢僋僗偺僒僀僘偑偍偐偟偔側傞堊v1.20偵栠偡)
//僐儞儃儃僢僋僗偺戝偒偝曄峏
// RECT rctParent;
// GetClientRect(GetParent(m_hComboBox), &rctParent);
// MoveWindow(m_hComboBox, 0, 0, rctParent.right, rctParent.bottom, TRUE);
RECT rctParent, rctCombo;
GetWindowRect(m_hComboBox, &rctCombo);
GetWindowRect(GetParent(m_hComboBox), &rctParent);
int nParentWidth = rctParent.right - rctParent.left;
if (nParentWidth > 50)
{
SetWindowPos(m_hComboBox, HWND_TOP, 0, 0, nParentWidth - 2, rctCombo.bottom - rctCombo.top, SWP_NOZORDER);
}
//MOD END
}
///////////////////////////////////////////////////////////////
void CCmdBands::SaveSettings()
{
COMMANDBANDSRESTOREINFO cbri;
int i;
int nIndex = 0;
//MOD TODA
for (i=0; i<3; i++) // i<4 -> i<3
{
cbri.cbSize = sizeof (COMMANDBANDSRESTOREINFO);
CommandBands_GetRestoreInformation(m_hWnd, i, &cbri);
if (cbri.wID != 0xFFFFFFFF)
{
m_Settings.BandInfo[nIndex].dwStyle = cbri.fStyle;
m_Settings.BandInfo[nIndex].dwWidth = cbri.cxRestored;
m_Settings.BandInfo[nIndex].dwID = cbri.wID;
nIndex += 1;
}
}
//旕昞帵懏惈傪庢傝彍偔
for (i=0; i<3; i++)
{
if ((m_Settings.BandInfo[i].dwStyle&RBBS_HIDDEN)==RBBS_HIDDEN)
m_Settings.BandInfo[i].dwStyle ^= RBBS_HIDDEN;
if ((m_Settings.BandInfo[i].dwStyle&RBBS_NOGRIPPER)==RBBS_NOGRIPPER)
m_Settings.BandInfo[i].dwStyle ^= RBBS_NOGRIPPER;
}
HKEY hKey = 0;
DWORD dwDisposition;
//MOD START TODA (from GSFinder ver.1.99)
if (RegCreateKeyEx(HKEY_CURRENT_USER, REG_KEY_REBAR,
0, _T(""), REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition) == ERROR_SUCCESS)
//MOD END
{
RegSetValueEx(hKey, _T("CmdBands"), 0, REG_BINARY, (LPBYTE)&m_Settings, sizeof(m_Settings));
RECT rc;
GetBandRect(BANDID_ADDRESSBAR, &rc);
RegSetValueEx(hKey, _T("AddrPos"), 0, REG_BINARY, (LPBYTE)&rc, sizeof(rc));
GetBandRect(BANDID_TOOLBAR, &rc);
RegSetValueEx(hKey, _T("ToolPos"), 0, REG_BINARY, (LPBYTE)&rc, sizeof(rc));
RegCloseKey(hKey);
}
}
///////////////////////////////////////////////////////////////
void CCmdBands::GetSettings()
{
HKEY hKey = 0;
DWORD dwDisposition;
//MOD START TODA (from GSFinder ver.1.99)
if (RegCreateKeyEx(HKEY_CURRENT_USER, REG_KEY_REBAR,
0, _T(""), REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition) == ERROR_SUCCESS)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -