wordpad: Added option to disable word wrap.

View: New views
1 Messages — Rating Filter:   Alert me  

wordpad: Added option to disable word wrap.

by Dylan Smith-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Word wrapping can now be disbled in Wine's richedit controls, so there
is no reason not to allow it to be disabled in wordpad.  There are
remaining issues with horizontal scrolling without word wrap, but it
will be easier to debug these issues using wordpad as a test program.

I added a radio button to the Options dialog for disabling word warp,
along with the other wrapping options.  I also tested to make sure that
word wrapping is can be disabled and enabled in both Wine and Windows.
---
 programs/wordpad/Da.rc      |    5 +++--
 programs/wordpad/De.rc      |    5 +++--
 programs/wordpad/En.rc      |    5 +++--
 programs/wordpad/Fr.rc      |    5 +++--
 programs/wordpad/Hu.rc      |    5 +++--
 programs/wordpad/Ja.rc      |    5 +++--
 programs/wordpad/Ko.rc      |    5 +++--
 programs/wordpad/Nl.rc      |    5 +++--
 programs/wordpad/No.rc      |    5 +++--
 programs/wordpad/Pl.rc      |    5 +++--
 programs/wordpad/Ru.rc      |    5 +++--
 programs/wordpad/Si.rc      |    5 +++--
 programs/wordpad/Tr.rc      |    5 +++--
 programs/wordpad/Zh.rc      |    5 +++--
 programs/wordpad/print.c    |   30 ++++++++++++++++++++----------
 programs/wordpad/registry.c |    2 +-
 programs/wordpad/wordpad.c  |   15 ++++++++++-----
 programs/wordpad/wordpad.h  |    7 ++++---
 18 files changed, 77 insertions(+), 47 deletions(-)

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 "Værktøjslinier", 0, 150, 10, 120, 85
     CHECKBOX "&Værktøjslinie", 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 fenêtre", 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 fenêtre", 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 "ƒEƒBƒ“ƒhƒE‚Ì‹«Š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 "ƒEƒBƒ“ƒhƒE‚Ì‹«Š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 "Verktøylinjer", 0, 150, 10, 120, 85
     CHECKBOX "&Verktøylinje", 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 narzêdzi", 0, 150, 10, 120, 85
     CHECKBOX "Pasek &narzêdzi", 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



LightInTheBox - Buy quality products at wholesale price!