+
+ case ID_TREE_EXPANDBRANCH:
+ TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_EXPAND);
+ break;
+ case ID_TREE_COLLAPSEBRANCH:
+ TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_COLLAPSE);
+ break;
+ case ID_TREE_RENAME:
+ SetFocus(g_pChildWnd->hTreeWnd);
+ TreeView_EditLabel(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd));
+ break;
+ case ID_TREE_DELETE:
+ keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), &hKeyRoot);
+ if (keyPath == 0 || *keyPath == 0)
+ {
+ MessageBeep(MB_ICONHAND);
+ }
+ else if (DeleteKey(hWnd, hKeyRoot, keyPath))
+ DeleteNode(g_pChildWnd->hTreeWnd, 0);
+ break;
+ case ID_TREE_EXPORT:
+ ExportRegistryFile(g_pChildWnd->hTreeWnd);
+ break;
+ case ID_TREE_PERMISSIONS:
+ keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), &hKeyRoot);
+ RegKeyEditPermissions(hWnd, hKeyRoot, NULL, keyPath);
+ break;
+ case ID_SWITCH_PANELS:
+ {
+ BOOL bShiftDown = GetKeyState(VK_SHIFT) < 0;
+ HWND hwndItem = GetNextDlgTabItem(g_pChildWnd->hWnd, GetFocus(), bShiftDown);
+ if (hwndItem == g_pChildWnd->hAddressBarWnd)
+ PostMessageW(hwndItem, EM_SETSEL, 0, -1);
+ SetFocus(hwndItem);
+ }
+ break;
+
+ case ID_ADDRESS_FOCUS:
+ SendMessageW(g_pChildWnd->hAddressBarWnd, EM_SETSEL, 0, -1);
+ SetFocus(g_pChildWnd->hAddressBarWnd);
+ break;
+