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