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:

[EMAIL PROTECTED] 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 



Reply via email to