No RichEdit20A window class

Michael Ost most at museresearch.com
Thu Nov 18 19:11:29 CST 2004


I'm re'ing my own post, but I think there's a combination of (1) a wine
bug and (2) user error at work here.

(1) The wine bug (I think) is that riched32.dll is registering the wrong
window class name. Here's a suggested patch:

[root at ihop dlls]# diff -Naur richedit/richedit.c
richedit.MUSE/richedit.c
--- richedit/richedit.c 2004-11-18 12:28:53.000000000 -0800
+++ richedit.MUSE/richedit.c    2004-11-18 17:03:33.000000000 -0800
@@ -792,7 +792,11 @@
     wndClass.cbWndExtra = RTFInfoOffset + sizeof(RTFControl_Info*);
     wndClass.hCursor = LoadCursorA(0, (LPSTR)IDC_ARROW);
     wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
+#if (_RICHEDIT_VER >= 0x0200 )
+    wndClass.lpszClassName = RICHEDIT_CLASS20A; /* WC_RICHED32A; */
+#else
     wndClass.lpszClassName = RICHEDIT_CLASS10A; /* WC_RICHED32A; */
+#endif

     RegisterClassA (&wndClass);
 }

Can any wise ones comment on this?

(2) My user error is that Windows requires that RICHED32.DLL be manually
loaded before use, it seems. At least that's what MFC requires, via its
AfxInitRichEdit2() function. I called LoadLibrary("RICHED32.DLL") and,
with my above patch, CreateWindow(RICHEDIT_CLASS,...) works fine.

This isn't true for other DLLs... but, oh well, there it is.

Cheers... mo 





More information about the wine-devel mailing list