shell32: Add menu bar to Control Panel.
diff --git a/dlls/shell32/control.c b/dlls/shell32/control.c
index 80aaa2c..eae5129 100644
--- a/dlls/shell32/control.c
+++ b/dlls/shell32/control.c
@@ -1,6 +1,7 @@
 /* Control Panel management
  *
  * Copyright 2001 Eric Pouech
+ * Copyright 2008 Owen Rudge
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -166,10 +167,58 @@
 static void 	 Control_WndProc_Create(HWND hWnd, const CREATESTRUCTW* cs)
 {
    CPanel*	panel = (CPanel*)cs->lpCreateParams;
+   HMENU hMenu, hSubMenu;
+   CPlApplet*	applet;
+   MENUITEMINFOW mii;
+   int menucount, i;
+   CPlItem *item;
 
    SetWindowLongPtrW(hWnd, 0, (LONG_PTR)panel);
    panel->status = 0;
    panel->hWnd = hWnd;
+
+   hMenu = LoadMenuW(shell32_hInstance, MAKEINTRESOURCEW(MENU_CPANEL));
+
+   /* insert menu items for applets */
+   hSubMenu = GetSubMenu(hMenu, 0);
+   menucount = 0;
+
+   for (applet = panel->first; applet; applet = applet->next) {
+      for (i = 0; i < applet->count; i++) {
+         if (!applet->info[i].dwSize)
+            continue;
+
+         /* set up a CPlItem for this particular subprogram */
+         item = HeapAlloc(GetProcessHeap(), 0, sizeof(CPlItem));
+
+         if (!item)
+            continue;
+
+         item->applet = (CPlApplet *) applet;
+         item->id = i;
+
+         mii.cbSize = sizeof(MENUITEMINFOW);
+         mii.fMask = MIIM_ID | MIIM_STRING | MIIM_DATA;
+         mii.dwTypeData = applet->info[i].szName;
+         mii.cch = sizeof(applet->info[i].szName) / sizeof(applet->info[i].szName[0]);
+         mii.wID = IDM_CPANEL_APPLET_BASE + menucount;
+         mii.dwItemData = (DWORD) item;
+
+         if (InsertMenuItemW(hSubMenu, menucount, TRUE, &mii)) {
+             DrawMenuBar(hWnd);
+             menucount++;
+         }
+      }
+   }
+
+   panel->total_subprogs = menucount;
+
+   /* check the "large items" icon in the View menu */
+   hSubMenu = GetSubMenu(hMenu, 1);
+   CheckMenuRadioItem(hSubMenu, FCIDM_SHVIEW_BIGICON, FCIDM_SHVIEW_REPORTVIEW,
+      FCIDM_SHVIEW_BIGICON, MF_BYCOMMAND);
+
+   SetMenu(hWnd, hMenu);
 }
 
 #define	XICON	32
@@ -255,6 +304,36 @@
     return 0;
 }
 
+static void Control_FreeCPlItems(HWND hWnd, CPanel *panel)
+{
+    HMENU hMenu, hSubMenu;
+    MENUITEMINFOW mii;
+    int i;
+
+    /* get the File menu */
+    hMenu = GetMenu(hWnd);
+
+    if (!hMenu)
+        return;
+
+    hSubMenu = GetSubMenu(hMenu, 0);
+
+    if (!hSubMenu)
+        return;
+
+    /* loop and free the item data */
+    for (i = IDM_CPANEL_APPLET_BASE; i <= IDM_CPANEL_APPLET_BASE + panel->total_subprogs; i++)
+    {
+        mii.cbSize = sizeof(MENUITEMINFOW);
+        mii.fMask = MIIM_DATA;
+
+        if (!GetMenuItemInfoW(hSubMenu, i, FALSE, &mii))
+            continue;
+
+        HeapFree(GetProcessHeap(), 0, (LPVOID) mii.dwItemData);
+    }
+}
+
 static LRESULT WINAPI	Control_WndProc(HWND hWnd, UINT wMsg,
 					WPARAM lParam1, LPARAM lParam2)
 {
@@ -271,6 +350,7 @@
 	    while (applet)
 	       applet = Control_UnloadApplet(applet);
          }
+         Control_FreeCPlItems(hWnd, panel);
          PostQuitMessage(0);
 	 break;
       case WM_PAINT:
diff --git a/dlls/shell32/cpanel.h b/dlls/shell32/cpanel.h
index 05923f1..22f94d7 100644
--- a/dlls/shell32/cpanel.h
+++ b/dlls/shell32/cpanel.h
@@ -1,6 +1,7 @@
 /* Control Panel management
  *
  * Copyright 2001 Eric Pouech
+ * Copyright 2008 Owen Rudge
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -38,8 +39,14 @@
     unsigned            status;
     CPlApplet*		clkApplet;
     unsigned            clkSP;
+    unsigned total_subprogs;
 } CPanel;
 
+/* structure to reference an individual control panel item */
+typedef struct CPlItem {
+    CPlApplet *applet;
+    unsigned id;
+} CPlItem;
 
 CPlApplet* Control_LoadApplet(HWND hWnd, LPCWSTR cmd, CPanel* panel);
 CPlApplet* Control_UnloadApplet(CPlApplet* applet);
diff --git a/dlls/shell32/shell32_Bg.rc b/dlls/shell32/shell32_Bg.rc
index 9f5793b..2b72c59 100644
--- a/dlls/shell32/shell32_Bg.rc
+++ b/dlls/shell32/shell32_Bg.rc
@@ -90,6 +90,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Ãîëåìè èêîíè", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Ìàëêè èêîíè", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Ñïèñúê", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Ïîäðîáíîñòè", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Èçáîð íà ïàïêà"
diff --git a/dlls/shell32/shell32_Ca.rc b/dlls/shell32/shell32_Ca.rc
index e254f49..95186dc 100644
--- a/dlls/shell32/shell32_Ca.rc
+++ b/dlls/shell32/shell32_Ca.rc
@@ -40,6 +40,29 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Lar&ge Icons", FCIDM_SHVIEW_BIGICON
+        MENUITEM "S&mall Icons", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&List", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
+
 SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 220, 152
 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "Quant a %s"
diff --git a/dlls/shell32/shell32_Cn.rc b/dlls/shell32/shell32_Cn.rc
index 7fe7a00..00a0e93 100644
--- a/dlls/shell32/shell32_Cn.rc
+++ b/dlls/shell32/shell32_Cn.rc
@@ -41,6 +41,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Lar&ge Icons", FCIDM_SHVIEW_BIGICON
+        MENUITEM "S&mall Icons", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&List", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 220, 152
 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "¹ØÓÚ %s"
diff --git a/dlls/shell32/shell32_Cs.rc b/dlls/shell32/shell32_Cs.rc
index 9f87359..1081011 100644
--- a/dlls/shell32/shell32_Cs.rc
+++ b/dlls/shell32/shell32_Cs.rc
@@ -94,6 +94,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Vedle sebe", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Ikony", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Seznam", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Podrobnosti", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Procházet..."
diff --git a/dlls/shell32/shell32_Da.rc b/dlls/shell32/shell32_Da.rc
index 09f3a64..84e57af 100644
--- a/dlls/shell32/shell32_Da.rc
+++ b/dlls/shell32/shell32_Da.rc
@@ -91,6 +91,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Store Ikoner", FCIDM_SHVIEW_BIGICON
+        MENUITEM "S&må Ikoner", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Liste", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Detaljer", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Vælg folder"
diff --git a/dlls/shell32/shell32_De.rc b/dlls/shell32/shell32_De.rc
index 70cb6a1..6e36b1a 100644
--- a/dlls/shell32/shell32_De.rc
+++ b/dlls/shell32/shell32_De.rc
@@ -91,6 +91,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Große Symbole", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Kleine Symbole", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Liste", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Verzeichnis auswählen"
diff --git a/dlls/shell32/shell32_En.rc b/dlls/shell32/shell32_En.rc
index f5aa623..6e766a9 100644
--- a/dlls/shell32/shell32_En.rc
+++ b/dlls/shell32/shell32_En.rc
@@ -90,6 +90,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Lar&ge Icons", FCIDM_SHVIEW_BIGICON
+        MENUITEM "S&mall Icons", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&List", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Browse for Folder"
diff --git a/dlls/shell32/shell32_Eo.rc b/dlls/shell32/shell32_Eo.rc
index 82956ba..075a393 100644
--- a/dlls/shell32/shell32_Eo.rc
+++ b/dlls/shell32/shell32_Eo.rc
@@ -93,6 +93,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Grandaj Ikonoj", FCIDM_SHVIEW_BIGICON
+        MENUITEM "Malgrandaj Ikonoj", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Listo", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Detale", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Foliu Dosierujon"
diff --git a/dlls/shell32/shell32_Es.rc b/dlls/shell32/shell32_Es.rc
index b1ee94d..301e7ee 100644
--- a/dlls/shell32/shell32_Es.rc
+++ b/dlls/shell32/shell32_Es.rc
@@ -91,6 +91,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Iconos &grandes", FCIDM_SHVIEW_BIGICON
+        MENUITEM "Iconos &pequeños", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Lista", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Detalles", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Explorar carpeta"
diff --git a/dlls/shell32/shell32_Fi.rc b/dlls/shell32/shell32_Fi.rc
index 0eed9ba..86734c1 100644
--- a/dlls/shell32/shell32_Fi.rc
+++ b/dlls/shell32/shell32_Fi.rc
@@ -90,6 +90,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Suuret kuvakkeet", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Pienet kuvakkeet", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Lista", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Tiedot", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Valitse kansio"
diff --git a/dlls/shell32/shell32_Fr.rc b/dlls/shell32/shell32_Fr.rc
index 231e526..a088940 100644
--- a/dlls/shell32/shell32_Fr.rc
+++ b/dlls/shell32/shell32_Fr.rc
@@ -96,6 +96,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Grandes icônes", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Petites icônes", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Liste", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Détails", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Parcourir les dossiers"
diff --git a/dlls/shell32/shell32_Hu.rc b/dlls/shell32/shell32_Hu.rc
index 42fb084..b823873 100644
--- a/dlls/shell32/shell32_Hu.rc
+++ b/dlls/shell32/shell32_Hu.rc
@@ -40,6 +40,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Lar&ge Icons", FCIDM_SHVIEW_BIGICON
+        MENUITEM "S&mall Icons", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&List", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 220, 152
 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "Névjegy: %s"
diff --git a/dlls/shell32/shell32_It.rc b/dlls/shell32/shell32_It.rc
index bede5cd..e9fdda6 100644
--- a/dlls/shell32/shell32_It.rc
+++ b/dlls/shell32/shell32_It.rc
@@ -92,6 +92,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Icone &Grandi", FCIDM_SHVIEW_BIGICON
+        MENUITEM "Icone &Piccole", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Lista", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Dettagli", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Sfoglia Cartella"
diff --git a/dlls/shell32/shell32_Ja.rc b/dlls/shell32/shell32_Ja.rc
index d76f1bb..9edf159 100644
--- a/dlls/shell32/shell32_Ja.rc
+++ b/dlls/shell32/shell32_Ja.rc
@@ -84,6 +84,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+         MENUITEM "‘å‚«‚ȱ²ºÝ(&G)", FCIDM_SHVIEW_BIGICON
+         MENUITEM "¬‚³‚ȱ²ºÝ(&M)", FCIDM_SHVIEW_SMALLICON
+         MENUITEM "ˆê——(&L)", FCIDM_SHVIEW_LISTVIEW
+         MENUITEM "Ú×(&D)",	 FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 STRINGTABLE
 {
 	/* columns in the shellview */
diff --git a/dlls/shell32/shell32_Ko.rc b/dlls/shell32/shell32_Ko.rc
index 8f8f150..a41a1c6 100644
--- a/dlls/shell32/shell32_Ko.rc
+++ b/dlls/shell32/shell32_Ko.rc
@@ -91,6 +91,29 @@
 END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Å« ¾ÆÀÌÄÜ(&G)", FCIDM_SHVIEW_BIGICON
+        MENUITEM "ÀÛÀº ¾ÆÀÌÄÜ(&M)", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "¸ñ·Ï(&L)", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "ÀÚ¼¼È÷(&D)", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Æú´õ Ž»ö"
diff --git a/dlls/shell32/shell32_Nl.rc b/dlls/shell32/shell32_Nl.rc
index d970db4..91e84e6 100644
--- a/dlls/shell32/shell32_Nl.rc
+++ b/dlls/shell32/shell32_Nl.rc
@@ -92,6 +92,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Grote Icons", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Kleine Icons", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Lijst", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Bladeren naar Map"
diff --git a/dlls/shell32/shell32_No.rc b/dlls/shell32/shell32_No.rc
index f9ea9e5..0be120d 100644
--- a/dlls/shell32/shell32_No.rc
+++ b/dlls/shell32/shell32_No.rc
@@ -90,6 +90,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Store ikoner", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Små ikoner", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Liste", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Detaljer", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Bla etter mappe"
diff --git a/dlls/shell32/shell32_Pl.rc b/dlls/shell32/shell32_Pl.rc
index 22fce1a..3df0d58 100644
--- a/dlls/shell32/shell32_Pl.rc
+++ b/dlls/shell32/shell32_Pl.rc
@@ -91,6 +91,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Du¿e Ikony", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Ma³e Ikony", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Lista", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Szczegó³y", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Wybierz folder"
diff --git a/dlls/shell32/shell32_Pt.rc b/dlls/shell32/shell32_Pt.rc
index 22e192f..9c437c4 100644
--- a/dlls/shell32/shell32_Pt.rc
+++ b/dlls/shell32/shell32_Pt.rc
@@ -139,6 +139,53 @@
 	END
 END
 
+LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
+
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Ícones &grandes", FCIDM_SHVIEW_BIGICON
+        MENUITEM "Ícones &pequenos", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Lista", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Detalhes", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
+LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
+
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Ícones &grandes", FCIDM_SHVIEW_BIGICON
+        MENUITEM "Ícones &pequenos", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Lista", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Detalhes", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
 
 LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
 
diff --git a/dlls/shell32/shell32_Ro.rc b/dlls/shell32/shell32_Ro.rc
index a22b469..584d1e2 100644
--- a/dlls/shell32/shell32_Ro.rc
+++ b/dlls/shell32/shell32_Ro.rc
@@ -93,6 +93,28 @@
         END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Pictograme &mari",    FCIDM_SHVIEW_BIGICON
+        MENUITEM "Pictograme m&ici",    FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Listă",              FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Detailii",           FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Selectare dosar"
diff --git a/dlls/shell32/shell32_Ru.rc b/dlls/shell32/shell32_Ru.rc
index f298e17..b473bf5 100644
--- a/dlls/shell32/shell32_Ru.rc
+++ b/dlls/shell32/shell32_Ru.rc
@@ -91,6 +91,28 @@
     END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Áîëüøèå çíà÷êè", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Ìåëêèå çíà÷êè", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Ñïèñîê", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Ïîäðîáíî", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Îáçîð"
diff --git a/dlls/shell32/shell32_Si.rc b/dlls/shell32/shell32_Si.rc
index a356d5a..e20c8b8 100644
--- a/dlls/shell32/shell32_Si.rc
+++ b/dlls/shell32/shell32_Si.rc
@@ -92,6 +92,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Ve&like ikone", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Male ikone", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Seznam", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "Po&drobnosti", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Brskanje po mapah"
diff --git a/dlls/shell32/shell32_Sk.rc b/dlls/shell32/shell32_Sk.rc
index 04e6037..66ea78e 100644
--- a/dlls/shell32/shell32_Sk.rc
+++ b/dlls/shell32/shell32_Sk.rc
@@ -40,6 +40,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Lar&ge Icons", FCIDM_SHVIEW_BIGICON
+        MENUITEM "S&mall Icons", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&List", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 220, 152
 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "O programe %s"
diff --git a/dlls/shell32/shell32_Sv.rc b/dlls/shell32/shell32_Sv.rc
index 497499e..7e63b55 100644
--- a/dlls/shell32/shell32_Sv.rc
+++ b/dlls/shell32/shell32_Sv.rc
@@ -40,6 +40,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Lar&ge Icons", FCIDM_SHVIEW_BIGICON
+        MENUITEM "S&mall Icons", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&List", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 220, 152
 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "Om %s"
diff --git a/dlls/shell32/shell32_Tr.rc b/dlls/shell32/shell32_Tr.rc
index 208e0b1..fe4df8f 100644
--- a/dlls/shell32/shell32_Tr.rc
+++ b/dlls/shell32/shell32_Tr.rc
@@ -90,6 +90,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Bü&yük Simgeler", FCIDM_SHVIEW_BIGICON
+        MENUITEM "Kü&çük Simgeler", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Liste", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Ayrýntýlý", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Dizine Gözat"
diff --git a/dlls/shell32/shell32_Uk.rc b/dlls/shell32/shell32_Uk.rc
index 127baeb..c3d5637 100644
--- a/dlls/shell32/shell32_Uk.rc
+++ b/dlls/shell32/shell32_Uk.rc
@@ -90,6 +90,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Âåëèê³ ²êîíêè", FCIDM_SHVIEW_BIGICON
+        MENUITEM "&Ìàë³ ²êîíêè", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&Ñïèñîê", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Ïîäðîáèö³", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
 CAPTION "Îãëÿä äî òåêè"
diff --git a/dlls/shell32/shell32_Wa.rc b/dlls/shell32/shell32_Wa.rc
index 519ed93..3bacc45 100644
--- a/dlls/shell32/shell32_Wa.rc
+++ b/dlls/shell32/shell32_Wa.rc
@@ -45,6 +45,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Lar&ge Icons", FCIDM_SHVIEW_BIGICON
+        MENUITEM "S&mall Icons", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&List", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 220, 152
 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "Å dfait di %s"
diff --git a/dlls/shell32/shell32_Zh.rc b/dlls/shell32/shell32_Zh.rc
index 252c146..980321f 100644
--- a/dlls/shell32/shell32_Zh.rc
+++ b/dlls/shell32/shell32_Zh.rc
@@ -41,6 +41,28 @@
 	END
 END
 
+MENU_CPANEL MENU
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit", IDM_CPANEL_EXIT
+    END
+
+    POPUP "&View"
+    BEGIN
+        MENUITEM "Lar&ge Icons", FCIDM_SHVIEW_BIGICON
+        MENUITEM "S&mall Icons", FCIDM_SHVIEW_SMALLICON
+        MENUITEM "&List", FCIDM_SHVIEW_LISTVIEW
+        MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW
+    END
+
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About Control Panel...", IDM_CPANEL_ABOUT
+    END
+END
+
 SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 220, 152
 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "êPì¶ %s"
diff --git a/dlls/shell32/shresdef.h b/dlls/shell32/shresdef.h
index f702c4c..8a18ff4 100644
--- a/dlls/shell32/shresdef.h
+++ b/dlls/shell32/shresdef.h
@@ -109,6 +109,11 @@
 
 #define MENU_SHV_FILE 144
 
+#define MENU_CPANEL                 200
+#define IDM_CPANEL_EXIT             201
+#define IDM_CPANEL_ABOUT            202
+#define IDM_CPANEL_APPLET_BASE      210
+
 /* Note: this string is referenced from the registry*/
 #define IDS_RECYCLEBIN_FOLDER_NAME   8964