wordpad: Add context menu.
diff --git a/programs/wordpad/De.rc b/programs/wordpad/De.rc
index 39ff38f..d25a034 100644
--- a/programs/wordpad/De.rc
+++ b/programs/wordpad/De.rc
@@ -81,6 +81,19 @@
     END
 END
 
+IDM_POPUP MENU DISCARDABLE
+BEGIN
+    POPUP ""
+    BEGIN
+        MENUITEM "Aus&schneiden",       ID_EDIT_CUT
+        MENUITEM "&Kopieren",           ID_EDIT_COPY
+        MENUITEM "&Einfügen",           ID_EDIT_PASTE
+        MENUITEM SEPARATOR
+        MENUITEM "&Bullet points"       ID_BULLET
+        MENUITEM "&Paragraph . . ."     ID_PARAFORMAT
+    END
+END
+
 IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
 CAPTION "Date and time"
diff --git a/programs/wordpad/En.rc b/programs/wordpad/En.rc
index 835cb01..2ac43e3 100644
--- a/programs/wordpad/En.rc
+++ b/programs/wordpad/En.rc
@@ -81,6 +81,19 @@
     END
 END
 
+IDM_POPUP MENU DISCARDABLE
+BEGIN
+    POPUP ""
+    BEGIN
+        MENUITEM "Cu&t",                ID_EDIT_CUT
+        MENUITEM "&Copy",               ID_EDIT_COPY
+        MENUITEM "&Paste",              ID_EDIT_PASTE
+        MENUITEM SEPARATOR
+        MENUITEM "&Bullet points"       ID_BULLET
+        MENUITEM "&Paragraph . . ."     ID_PARAFORMAT
+    END
+END
+
 IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
 CAPTION "Date and time"
diff --git a/programs/wordpad/Fr.rc b/programs/wordpad/Fr.rc
index 1a0d6a2..b343de7 100644
--- a/programs/wordpad/Fr.rc
+++ b/programs/wordpad/Fr.rc
@@ -81,6 +81,19 @@
     END
 END
 
+IDM_POPUP MENU DISCARDABLE
+BEGIN
+    POPUP ""
+    BEGIN
+        MENUITEM "&Couper",             ID_EDIT_CUT
+        MENUITEM "Co&pier",             ID_EDIT_COPY
+        MENUITEM "C&oller",             ID_EDIT_PASTE
+        MENUITEM SEPARATOR
+        MENUITEM "&Bullet points"       ID_BULLET
+        MENUITEM "&Paragraph . . ."     ID_PARAFORMAT
+    END
+END
+
 IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
 CAPTION "Date and time"
diff --git a/programs/wordpad/Hu.rc b/programs/wordpad/Hu.rc
index e2ac6e5..142efee 100644
--- a/programs/wordpad/Hu.rc
+++ b/programs/wordpad/Hu.rc
@@ -81,6 +81,19 @@
     END
 END
 
+IDM_POPUP MENU DISCARDABLE
+BEGIN
+    POPUP ""
+    BEGIN
+        MENUITEM "Kiv&ágás\tCtrl+X",     ID_EDIT_CUT
+        MENUITEM "Má&solás\tCtrl+C",     ID_EDIT_COPY
+        MENUITEM "&Beillesztés\tCtrl+V", ID_EDIT_PASTE
+        MENUITEM SEPARATOR
+        MENUITEM "&Bullet points"        ID_BULLET
+        MENUITEM "&Paragraph . . ."      ID_PARAFORMAT
+    END
+END
+
 IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
 CAPTION "Date and time"
diff --git a/programs/wordpad/Ko.rc b/programs/wordpad/Ko.rc
index f51a8da..b3edd53 100644
--- a/programs/wordpad/Ko.rc
+++ b/programs/wordpad/Ko.rc
@@ -82,6 +82,19 @@
     END
 END
 
+IDM_POPUP MENU DISCARDABLE
+BEGIN
+    POPUP ""
+    BEGIN
+        MENUITEM "Àß¶ó³»±â(&T)",          ID_EDIT_CUT
+        MENUITEM "º¹»ç(&C)",             ID_EDIT_COPY
+        MENUITEM "ºÙ¿©³Ö±â(&P)",          ID_EDIT_PASTE
+        MENUITEM SEPARATOR
+        MENUITEM "&Bullet points"        ID_BULLET
+        MENUITEM "&Paragraph . . ."      ID_PARAFORMAT
+    END
+END
+
 IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
 CAPTION "³¯Â¥¿Í ½Ã°£"
diff --git a/programs/wordpad/Nl.rc b/programs/wordpad/Nl.rc
index 6416322..58193ef 100644
--- a/programs/wordpad/Nl.rc
+++ b/programs/wordpad/Nl.rc
@@ -81,6 +81,19 @@
     END
 END
 
+IDM_POPUP MENU DISCARDABLE
+BEGIN
+    POPUP ""
+    BEGIN
+        MENUITEM "K&nippen",             ID_EDIT_CUT
+        MENUITEM "&Kopieren",            ID_EDIT_COPY
+        MENUITEM "&Plakken",            ID_EDIT_PASTE
+        MENUITEM SEPARATOR
+        MENUITEM "&Bullet points"        ID_BULLET
+        MENUITEM "&Paragraph . . ."      ID_PARAFORMAT
+    END
+END
+
 IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
 CAPTION "Date and time"
diff --git a/programs/wordpad/No.rc b/programs/wordpad/No.rc
index 5c980ce..a135909 100644
--- a/programs/wordpad/No.rc
+++ b/programs/wordpad/No.rc
@@ -81,6 +81,19 @@
     END
 END
 
+IDM_POPUP MENU DISCARDABLE
+BEGIN
+    POPUP ""
+    BEGIN
+        MENUITEM "Klipp u&t"      ID_EDIT_CUT
+        MENUITEM "&Kopier"        ID_EDIT_COPY
+        MENUITEM "&Lim inn"       ID_EDIT_PASTE
+        MENUITEM SEPARATOR
+        MENUITEM "&Punktmerking"  ID_BULLET
+        MENUITEM "&Avsnitt . . ." ID_PARAFORMAT
+    END
+END
+
 IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
 CAPTION "Dato og klokkeslett"
diff --git a/programs/wordpad/Pl.rc b/programs/wordpad/Pl.rc
index 7812a79..7232aaa 100644
--- a/programs/wordpad/Pl.rc
+++ b/programs/wordpad/Pl.rc
@@ -82,6 +82,19 @@
     END
 END
 
+IDM_POPUP MENU DISCARDABLE
+BEGIN
+    POPUP ""
+    BEGIN
+        MENUITEM "Wy&tnij",              ID_EDIT_CUT
+        MENUITEM "&Kopiuj",              ID_EDIT_COPY
+        MENUITEM "Wkl&ej",               ID_EDIT_PASTE
+        MENUITEM SEPARATOR
+        MENUITEM "&Bullet points"        ID_BULLET
+        MENUITEM "&Paragraph . . ."      ID_PARAFORMAT
+    END
+END
+
 IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
 CAPTION "Date and time"
diff --git a/programs/wordpad/Ru.rc b/programs/wordpad/Ru.rc
index ae43e35..78d2212 100644
--- a/programs/wordpad/Ru.rc
+++ b/programs/wordpad/Ru.rc
@@ -40,6 +40,7 @@
         MENUITEM SEPARATOR
         MENUITEM "&Âûðåçàòü\tCtrl+X",           ID_EDIT_CUT
         MENUITEM "&Êîïèðîâàòü\tCtrl+C",         ID_EDIT_COPY
+        MENUITEM "&Paste\tCtrl+V",              ID_EDIT_PASTE
         MENUITEM SEPARATOR
         MENUITEM "&Find . . .\tCrtl+F",         ID_FIND
         MENUITEM "Find &next\tF3",              ID_FIND_NEXT
@@ -79,6 +80,19 @@
     END
 END
 
+IDM_POPUP MENU DISCARDABLE
+BEGIN
+    POPUP ""
+    BEGIN
+        MENUITEM "&Âûðåçàòü\tCtrl+X",   ID_EDIT_CUT
+        MENUITEM "&Êîïèðîâàòü\tCtrl+C", ID_EDIT_COPY
+        MENUITEM "&Paste",              ID_EDIT_PASTE
+        MENUITEM SEPARATOR
+        MENUITEM "&Bullet points"       ID_BULLET
+        MENUITEM "&Paragraph . . ."     ID_PARAFORMAT
+    END
+END
+
 IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
 CAPTION "Date and time"
diff --git a/programs/wordpad/Tr.rc b/programs/wordpad/Tr.rc
index 2cd1edf..b5e0c5e 100644
--- a/programs/wordpad/Tr.rc
+++ b/programs/wordpad/Tr.rc
@@ -84,6 +84,19 @@
     END
 END
 
+IDM_POPUP MENU DISCARDABLE
+BEGIN
+    POPUP ""
+    BEGIN
+        MENUITEM "Ke&s",                 ID_EDIT_CUT
+        MENUITEM "&Kopyala",             ID_EDIT_COPY
+        MENUITEM "Ya&pýþtýr",            ID_EDIT_PASTE
+        MENUITEM SEPARATOR
+        MENUITEM "&Bullet points"        ID_BULLET
+        MENUITEM "&Paragraph . . ."      ID_PARAFORMAT
+    END
+END
+
 IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
 CAPTION "Date and time"
diff --git a/programs/wordpad/resource.h b/programs/wordpad/resource.h
index 9264cd8..75a18e5 100644
--- a/programs/wordpad/resource.h
+++ b/programs/wordpad/resource.h
@@ -104,6 +104,8 @@
 #define IDD_PARAFORMAT 2102
 #define IDD_TABSTOPS 2103
 
+#define IDM_POPUP 2200
+
 #define IDB_TOOLBAR 100
 #define IDB_FORMATBAR 101
 
diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c
index 03f9391..8b0ca5a 100644
--- a/programs/wordpad/wordpad.c
+++ b/programs/wordpad/wordpad.c
@@ -61,6 +61,7 @@
 static HWND hMainWnd;
 static HWND hEditorWnd;
 static HWND hFindWnd;
+static HMENU hPopupMenu;
 
 static UINT ID_FINDMSGSTRING;
 
@@ -1657,6 +1658,29 @@
     return FALSE;
 }
 
+static int context_menu(LPARAM lParam)
+{
+    int x = (int)(short)LOWORD(lParam);
+    int y = (int)(short)HIWORD(lParam);
+    HMENU hPop = GetSubMenu(hPopupMenu, 0);
+
+    if(x == -1)
+    {
+        int from = 0, to = 0;
+        POINTL pt;
+        SendMessageW(hEditorWnd, EM_GETSEL, (WPARAM)&from, (LPARAM)&to);
+        SendMessageW(hEditorWnd, EM_POSFROMCHAR, (WPARAM)&pt, (LPARAM)to);
+        ClientToScreen(hEditorWnd, (POINT*)&pt);
+        x = pt.x;
+        y = pt.y;
+    }
+
+    TrackPopupMenu(hPop, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RIGHTBUTTON,
+                   x, y, 0, hMainWnd, 0);
+
+    return 0;
+}
+
 static LRESULT OnCreate( HWND hWnd, WPARAM wParam, LPARAM lParam)
 {
     HWND hToolBarWnd, hFormatBarWnd,  hReBarWnd;
@@ -2330,6 +2354,12 @@
     case WM_SIZE:
         return OnSize( hWnd, wParam, lParam );
 
+    case WM_CONTEXTMENU:
+        if((HWND)wParam == hEditorWnd)
+            return context_menu(lParam);
+        else
+            return DefWindowProcW(hWnd, msg, wParam, lParam);
+
     case WM_DROPFILES:
         {
             WCHAR file[MAX_PATH];
@@ -2381,6 +2411,7 @@
 
     set_caption(NULL);
     set_bar_states();
+    hPopupMenu = LoadMenuW(hInstance, MAKEINTRESOURCEW(IDM_POPUP));
 
     HandleCommandLine(GetCommandLineW());