*/
LRESULT CDefView::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
{
- DWORD dwCmdID;
- DWORD dwCmd;
- HWND hwndCmd;
+ DWORD dwCmdID;
+ DWORD dwCmd;
+ HWND hwndCmd;
+ int nCount;
dwCmdID = GET_WM_COMMAND_ID(wParam, lParam);
dwCmd = GET_WM_COMMAND_CMD(wParam, lParam);
m_ListView.SetItemState(-1, LVIS_SELECTED, LVIS_SELECTED);
break;
+ case FCIDM_SHVIEW_INVERTSELECTION:
+ nCount = m_ListView.GetItemCount();
+ for (int i=0; i < nCount; i++)
+ m_ListView.SetItemState(i, m_ListView.GetItemState(i, LVIS_SELECTED) ? 0 : LVIS_SELECTED, LVIS_SELECTED);
+ break;
+
case FCIDM_SHVIEW_REFRESH:
Refresh();
break;
spacing.cy = HIWORD(ret);
}
+ UINT GetItemState(int i, UINT mask)
+ {
+ return SendMessage(LVM_GETITEMSTATE, i, (LPARAM)mask);
+ }
+
void SetItemState(int i, UINT state, UINT mask)
{
LV_ITEM item;