diff --git a/programs/wordpad/Da.rc b/programs/wordpad/Da.rc index 7b0ad62..0ae3e29 100644 --- a/programs/wordpad/Da.rc +++ b/programs/wordpad/Da.rc @@ -164,8 +164,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Liniebrydning", 0, 10, 10, 130, 85 - RADIOBUTTON "Bryd tekst efter v&indusbredden", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "Bryd tekst efter &margen", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Bryd tekst efter v&indusbredden", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "Bryd tekst efter &margen", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Vrktjslinier", 0, 150, 10, 120, 85 CHECKBOX "&Vrktjslinie", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&Formatteringlinie", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/De.rc b/programs/wordpad/De.rc index 0158084..69244f6 100644 --- a/programs/wordpad/De.rc +++ b/programs/wordpad/De.rc @@ -166,8 +166,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Zeilenumbruch", 0, 10, 10, 130, 85 - RADIOBUTTON "&Am Fenster umbrechen", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "A&m Lineal umbrechen", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "&Am Fenster umbrechen", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "A&m Lineal umbrechen", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Symbolleisten", 0, 150, 10, 120, 85 CHECKBOX "&Symbolleiste", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&Formatierungsleiste", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/En.rc b/programs/wordpad/En.rc index b9e4552..8b5d878 100644 --- a/programs/wordpad/En.rc +++ b/programs/wordpad/En.rc @@ -164,8 +164,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Line wrapping", 0, 10, 10, 130, 85 - RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "&No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Toolbars", 0, 150, 10, 120, 85 CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&Formatbar", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/Fr.rc b/programs/wordpad/Fr.rc index 8a409d9..c423a7f 100644 --- a/programs/wordpad/Fr.rc +++ b/programs/wordpad/Fr.rc @@ -164,8 +164,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Enveloppement de ligne", 0, 10, 10, 170, 85 - RADIOBUTTON "Enveloppe le texte partir de la bordure de fentre", IDC_PAGEFMT_WW, 18, 25, 145, 15 - RADIOBUTTON "Enveloppe le texte partir de la &marge", IDC_PAGEFMT_WM, 18, 45, 145, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 145, 15 + RADIOBUTTON "Enveloppe le texte partir de la bordure de fentre", IDC_PAGEFMT_WW, 18, 45, 145, 15 + RADIOBUTTON "Enveloppe le texte partir de la &marge", IDC_PAGEFMT_WM, 18, 65, 145, 15 GROUPBOX "Barres d'outils", 0, 170, 10, 120, 85 CHECKBOX "&Barre d'outils", IDC_PAGEFMT_TB, 180, 20, 80, 15 CHECKBOX "Barre de &format", IDC_PAGEFMT_FB, 180, 38, 80, 15 diff --git a/programs/wordpad/Hu.rc b/programs/wordpad/Hu.rc index b5ea2d7..78f069b 100644 --- a/programs/wordpad/Hu.rc +++ b/programs/wordpad/Hu.rc @@ -164,8 +164,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Line wrapping", 0, 10, 10, 130, 85 - RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Toolbars", 0, 150, 10, 120, 85 CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&Formatbar", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/Ja.rc b/programs/wordpad/Ja.rc index 45c0ca8..46ca012 100644 --- a/programs/wordpad/Ja.rc +++ b/programs/wordpad/Ja.rc @@ -164,8 +164,9 @@ CAPTION "" FONT 9, "MS Shell Dlg" BEGIN GROUPBOX "s̐܂Ԃ", 0, 10, 10, 130, 85 - RADIOBUTTON "EBhE̋EŐ܂Ԃ(&W)", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "}[WŐ܂Ԃ(&M)", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "EBhE̋EŐ܂Ԃ(&W)", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "}[WŐ܂Ԃ(&M)", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "c[o[", 0, 150, 10, 120, 85 CHECKBOX "c[o[(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "o[(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/Ko.rc b/programs/wordpad/Ko.rc index 11c8942..9fcb725 100644 --- a/programs/wordpad/Ko.rc +++ b/programs/wordpad/Ko.rc @@ -166,8 +166,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX " ѱ", 0, 10, 10, 130, 85 - RADIOBUTTON "â ڸ ѱ(&W)", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "ڸ ѱ(&M)", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "â ڸ ѱ(&W)", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "ڸ ѱ(&M)", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX " ", 0, 150, 10, 120, 85 CHECKBOX "(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "Ĺ(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/Nl.rc b/programs/wordpad/Nl.rc index 73da63f..536a88b 100644 --- a/programs/wordpad/Nl.rc +++ b/programs/wordpad/Nl.rc @@ -165,8 +165,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Regel afbreken", 0, 10, 10, 130, 85 - RADIOBUTTON "Breek tekst af bij &venster rand", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "Breek tekst af bij de &marge", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Breek tekst af bij &venster rand", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "Breek tekst af bij de &marge", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Toolbars", 0, 150, 10, 120, 85 CHECKBOX "&Toolbalk", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&Formaatbalk", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/No.rc b/programs/wordpad/No.rc index 5a3be26..b162926 100644 --- a/programs/wordpad/No.rc +++ b/programs/wordpad/No.rc @@ -164,8 +164,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Linjebryting", 0, 10, 10, 130, 85 - RADIOBUTTON "Bryt tekst etter v&indusbredden", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "Bryt tekst etter &margen", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Bryt tekst etter v&indusbredden", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "Bryt tekst etter &margen", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Verktylinjer", 0, 150, 10, 120, 85 CHECKBOX "&Verktylinje", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&Formatlinje", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/Pl.rc b/programs/wordpad/Pl.rc index 444faf8..7c6cdaa 100644 --- a/programs/wordpad/Pl.rc +++ b/programs/wordpad/Pl.rc @@ -165,8 +165,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Zawijanie wierszy", 0, 10, 10, 130, 85 - RADIOBUTTON "Zawijaj do &brzegu okna", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "Zawijaj do &marginesu", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Zawijaj do &brzegu okna", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "Zawijaj do &marginesu", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Paski narzdzi", 0, 150, 10, 120, 85 CHECKBOX "Pasek &narzdzi", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "Pasek &formatu", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/Ru.rc b/programs/wordpad/Ru.rc index d4a67f9..8d8f890 100644 --- a/programs/wordpad/Ru.rc +++ b/programs/wordpad/Ru.rc @@ -164,8 +164,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX " ", 0, 10, 10, 130, 85 - RADIOBUTTON " &", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON " &", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON " &", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON " &", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "", 0, 150, 10, 120, 85 CHECKBOX "&", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/Si.rc b/programs/wordpad/Si.rc index 5242c21..448541e 100644 --- a/programs/wordpad/Si.rc +++ b/programs/wordpad/Si.rc @@ -166,8 +166,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Prelom vrstic", 0, 10, 10, 130, 85 - RADIOBUTTON "Prelomi besedilo na robu o&kna", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "Prelomi besedilo na robu &papirja", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Prelomi besedilo na robu o&kna", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "Prelomi besedilo na robu &papirja", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Orodne vrstice", 0, 150, 10, 120, 85 CHECKBOX "O&rodna vrstica", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "O&blikovna vrstica", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/Tr.rc b/programs/wordpad/Tr.rc index e8bf6a6..f03b68d 100644 --- a/programs/wordpad/Tr.rc +++ b/programs/wordpad/Tr.rc @@ -166,8 +166,9 @@ Caption "" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Line wrapping", 0, 10, 10, 130, 85 - RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "Toolbars", 0, 150, 10, 120, 85 CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "&Formatbar", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/Zh.rc b/programs/wordpad/Zh.rc index 6b19a3d..3b87316 100644 --- a/programs/wordpad/Zh.rc +++ b/programs/wordpad/Zh.rc @@ -169,8 +169,9 @@ Caption "" FONT 9, "MS Song" BEGIN GROUPBOX "自动换行", 0, 10, 10, 130, 85 - RADIOBUTTON "按视窗宽度(&W)", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "按纸张宽度(&M)", IDC_PAGEFMT_WM, 18, 45, 117, 15 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 + RADIOBUTTON "按视窗宽度(&W)", IDC_PAGEFMT_WW, 18, 45, 117, 15 + RADIOBUTTON "按纸张宽度(&M)", IDC_PAGEFMT_WM, 18, 65, 117, 15 GROUPBOX "工具栏", 0, 150, 10, 120, 85 CHECKBOX "工具栏(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15 CHECKBOX "格式工具栏(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15 diff --git a/programs/wordpad/print.c b/programs/wordpad/print.c index 933c8b8..dbe3a2c 100644 --- a/programs/wordpad/print.c +++ b/programs/wordpad/print.c @@ -181,25 +181,35 @@ static RECT get_print_rect(HDC hdc) void target_device(HWND hMainWnd, DWORD wordWrap) { HWND hEditorWnd = GetDlgItem(hMainWnd, IDC_EDITOR); - HDC hdc = make_dc(); - int width = 0; if(wordWrap == ID_WORDWRAP_MARGIN) { + int width = 0; + LRESULT result; + HDC hdc = make_dc(); RECT rc = get_print_rect(hdc); + width = rc.right - rc.left; + if(!hdc) + { + HDC hMaindc = GetDC(hMainWnd); + hdc = CreateCompatibleDC(hMaindc); + ReleaseDC(hMainWnd, hMaindc); + } + result = SendMessageW(hEditorWnd, EM_SETTARGETDEVICE, (WPARAM)hdc, width); + DeleteDC(hdc); + if (result) + return; + /* otherwise EM_SETTARGETDEVICE failed, so fall back on wrapping + * to window using the NULL DC. */ } - if(!hdc) - { - HDC hMaindc = GetDC(hMainWnd); - hdc = CreateCompatibleDC(hMaindc); - ReleaseDC(hMainWnd, hMaindc); + if (wordWrap != ID_WORDWRAP_NONE) { + SendMessageW(hEditorWnd, EM_SETTARGETDEVICE, 0, 0); + } else { + SendMessageW(hEditorWnd, EM_SETTARGETDEVICE, 0, 1); } - SendMessageW(hEditorWnd, EM_SETTARGETDEVICE, (WPARAM)hdc, width); - - DeleteDC(hdc); } static LPWSTR dialog_print_to_file(HWND hMainWnd) diff --git a/programs/wordpad/registry.c b/programs/wordpad/registry.c index 7bf7c49..32b4b1e 100644 --- a/programs/wordpad/registry.c +++ b/programs/wordpad/registry.c @@ -366,7 +366,7 @@ static void registry_read_formatopts(int index, LPCWSTR key, DWORD barState[], D if(index == reg_formatindex(SF_RTF)) wordWrap[index] = ID_WORDWRAP_WINDOW; else if(index == reg_formatindex(SF_TEXT)) - wordWrap[index] = ID_WORDWRAP_WINDOW; /* FIXME: should be ID_WORDWRAP_NONE once we support it */ + wordWrap[index] = ID_WORDWRAP_NONE; RegCloseKey(hKey); } diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c index adad55c..b23216f 100644 --- a/programs/wordpad/wordpad.c +++ b/programs/wordpad/wordpad.c @@ -977,13 +977,15 @@ static INT_PTR CALLBACK formatopts_proc(HWND hWnd, UINT message, WPARAM wParam, sprintf(id, "%d\n", (int)ps->lParam); SetWindowTextA(hIdWnd, id); - if(wordWrap[ps->lParam] == ID_WORDWRAP_WINDOW) + if(wordWrap[ps->lParam] == ID_WORDWRAP_NONE) + wrap = IDC_PAGEFMT_WN; + else if(wordWrap[ps->lParam] == ID_WORDWRAP_WINDOW) wrap = IDC_PAGEFMT_WW; else if(wordWrap[ps->lParam] == ID_WORDWRAP_MARGIN) wrap = IDC_PAGEFMT_WM; if(wrap != -1) - CheckRadioButton(hWnd, IDC_PAGEFMT_WW, + CheckRadioButton(hWnd, IDC_PAGEFMT_WN, IDC_PAGEFMT_WM, wrap); if(barState[ps->lParam] & (1 << BANDID_TOOLBAR)) @@ -1000,9 +1002,10 @@ static INT_PTR CALLBACK formatopts_proc(HWND hWnd, UINT message, WPARAM wParam, case WM_COMMAND: switch(LOWORD(wParam)) { + case IDC_PAGEFMT_WN: case IDC_PAGEFMT_WW: case IDC_PAGEFMT_WM: - CheckRadioButton(hWnd, IDC_PAGEFMT_WW, IDC_PAGEFMT_WM, + CheckRadioButton(hWnd, IDC_PAGEFMT_WN, IDC_PAGEFMT_WM, LOWORD(wParam)); break; @@ -1026,7 +1029,9 @@ static INT_PTR CALLBACK formatopts_proc(HWND hWnd, UINT message, WPARAM wParam, GetWindowTextA(hIdWnd, sid, 4); id = atoi(sid); - if(IsDlgButtonChecked(hWnd, IDC_PAGEFMT_WW)) + if(IsDlgButtonChecked(hWnd, IDC_PAGEFMT_WN)) + wordWrap[id] = ID_WORDWRAP_NONE; + else if(IsDlgButtonChecked(hWnd, IDC_PAGEFMT_WW)) wordWrap[id] = ID_WORDWRAP_WINDOW; else if(IsDlgButtonChecked(hWnd, IDC_PAGEFMT_WM)) wordWrap[id] = ID_WORDWRAP_MARGIN; @@ -1828,7 +1833,7 @@ static LRESULT OnCreate( HWND hWnd ) hEditorWnd = CreateWindowExW(WS_EX_CLIENTEDGE, wszRichEditClass, NULL, WS_CHILD|WS_VISIBLE|ES_SELECTIONBAR|ES_MULTILINE|ES_AUTOVSCROLL - |ES_WANTRETURN|WS_VSCROLL|ES_NOHIDESEL, + |ES_WANTRETURN|WS_VSCROLL|ES_NOHIDESEL|WS_HSCROLL, 0, 0, 1000, 100, hWnd, (HMENU)IDC_EDITOR, hInstance, NULL); if (!hEditorWnd) diff --git a/programs/wordpad/wordpad.h b/programs/wordpad/wordpad.h index 9f093b3..b4d7425 100644 --- a/programs/wordpad/wordpad.h +++ b/programs/wordpad/wordpad.h @@ -113,9 +113,10 @@ #define IDC_PAGEFMT_FB 101 #define IDC_PAGEFMT_RU 102 #define IDC_PAGEFMT_SB 103 -#define IDC_PAGEFMT_WW 104 -#define IDC_PAGEFMT_WM 105 -#define IDC_PAGEFMT_ID 106 +#define IDC_PAGEFMT_WN 104 +#define IDC_PAGEFMT_WW 105 +#define IDC_PAGEFMT_WM 106 +#define IDC_PAGEFMT_ID 107 #define ID_DATETIME 1600 #define ID_PARAFORMAT 1601