Alexander Nicolaysen Sørnes : wordpad: Add context menu.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Sep 12 07:51:00 CDT 2007


Module: wine
Branch: master
Commit: 5bc0dfc28c5b8c023710bb57a277a51fb1edf3cb
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5bc0dfc28c5b8c023710bb57a277a51fb1edf3cb

Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date:   Thu Aug 23 15:05:23 2007 +0200

wordpad: Add context menu.

---

 programs/wordpad/De.rc      |   13 +++++++++++++
 programs/wordpad/En.rc      |   13 +++++++++++++
 programs/wordpad/Fr.rc      |   13 +++++++++++++
 programs/wordpad/Hu.rc      |   13 +++++++++++++
 programs/wordpad/Ko.rc      |   13 +++++++++++++
 programs/wordpad/Nl.rc      |   13 +++++++++++++
 programs/wordpad/No.rc      |   13 +++++++++++++
 programs/wordpad/Pl.rc      |   13 +++++++++++++
 programs/wordpad/Ru.rc      |   14 ++++++++++++++
 programs/wordpad/Tr.rc      |   13 +++++++++++++
 programs/wordpad/resource.h |    2 ++
 programs/wordpad/wordpad.c  |   31 +++++++++++++++++++++++++++++++
 12 files changed, 164 insertions(+), 0 deletions(-)

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 @@ BEGIN
     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 @@ BEGIN
     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 @@ BEGIN
     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 @@ BEGIN
     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 @@ BEGIN
     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 @@ BEGIN
     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 @@ BEGIN
     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 @@ BEGIN
     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 @@ BEGIN
         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 @@ BEGIN
     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 @@ BEGIN
     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 const WCHAR var_pagemargin[] = {'P','a','g','e','M','a','r','g','i','n',0
 static HWND hMainWnd;
 static HWND hEditorWnd;
 static HWND hFindWnd;
+static HMENU hPopupMenu;
 
 static UINT ID_FINDMSGSTRING;
 
@@ -1657,6 +1658,29 @@ static INT_PTR CALLBACK tabstops_proc(HWND hWnd, UINT message, WPARAM wParam, LP
     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 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPara
     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 @@ int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hOldInstance, LPSTR szCmdPar
 
     set_caption(NULL);
     set_bar_states();
+    hPopupMenu = LoadMenuW(hInstance, MAKEINTRESOURCEW(IDM_POPUP));
 
     HandleCommandLine(GetCommandLineW());
 




More information about the wine-cvs mailing list