News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Msftedit.dll

Started by Mikl__, May 29, 2019, 09:17:30 PM

Previous topic - Next topic

Mikl__

The original specification for rich edit controls is Microsoft Rich Edit 1.0; the current specification is Microsoft Rich Edit 4.1. Each version of rich edit is a superset of the preceding one, except that only Asian builds of Microsoft Rich Edit 1.0 have a vertical text option. Before creating a rich edit control, you should call the LoadLibrary function to verify which version of Microsoft Rich Edit is installed.

The following table shows which DLL corresponds with which version of Rich Edit. Note that the name of the file did not change from version 2.0 to version 3.0. This allows version 2.0 to be upgraded to version 3.0 without breaking existing code.

Rich Edit version
DLL
Window Class
1.0
|Riched32.dll|
RICHEDIT
2.0
|Riched20.dll|
RICHEDIT20A
3.0
|Riched20.dll|
RICHEDIT20A
4.1
Msftedit.dll
RichEdit50W
Does anyone have any examples on how to use Msftedit.dll? Thank you.

LiaoMi

Quote from: Mikl__ on May 29, 2019, 09:17:30 PM
The original specification for rich edit controls is Microsoft Rich Edit 1.0; the current specification is Microsoft Rich Edit 4.1. Each version of rich edit is a superset of the preceding one, except that only Asian builds of Microsoft Rich Edit 1.0 have a vertical text option. Before creating a rich edit control, you should call the LoadLibrary function to verify which version of Microsoft Rich Edit is installed.

The following table shows which DLL corresponds with which version of Rich Edit. Note that the name of the file did not change from version 2.0 to version 3.0. This allows version 2.0 to be upgraded to version 3.0 without breaking existing code.

Rich Edit version
DLL
Window Class
1.0
   Riched32.dll
RICHEDIT
2.0
   Riched20.dll
RICHEDIT20A
3.0
   Riched20.dll
RICHEDIT20A
4.1
   Msftedit.dllMSFTEDIT_CLASS
Does anyone have any examples on how to use Msftedit.dll? Thank you.

Hi Mikl,

http://masm32.com/board/index.php?topic=5383.0

jj2007

For your WM_CREATE handler:
invoke LoadLibrary, chr$("msftedit")
invoke CreateWindowEx, WS_EX_CLIENTEDGE, chr$("RichEdit50W"), NULL,
  WS_CHILD or WS_VISIBLE or WS_BORDER or WS_VSCROLL or ES_MULTILINE,
  9, 9, 500, 200, hWnd, 103, wcx.hInstance, NULL ; we have added an edit control
mov hEdit, eax


Quote from: LiaoMi on May 29, 2019, 09:57:58 PMhttp://masm32.com/board/index.php?topic=5383.0

M$ discontinued the Word viewer: We're sorry, this download is no longer available

In case you want to use a more advanced version of RichEdit: https://filehippo.com/download_word_viewer/ still has it.

Mikl__

Hi, LiaoMi and jj2007!
I took the 33-th lesson of Iczelion, replaced "Riched20.dll" to "msftedit.dll" and "RichEdit20A" to "RichEdit50W" and it all worked! Thank you very much!

Vortex

Another source :

https://www.filehorse.com/download-word-viewer/

jj2007

Quote from: Vortex on May 30, 2019, 03:52:55 AM
Another source :

https://www.filehorse.com/download-word-viewer/

Interesting, Erol. To the left, the filehorse version, to the right the one that I have been using until now. After installing the WordViewer, they are in C:\Program Files (x86)\Common Files\microsoft shared\OFFICE11\RICHED20.DLL

minor28

Another example

https://www.codeproject.com/Articles/1030858/An-Idea-How-to-Use-RichEdit-W-for-Syntax-Highlight

Mikl__

Hi, Vortex and minor28!
Thank you very much!

LiaoMi

Quote from: jj2007 on May 30, 2019, 06:04:18 AM
Quote from: Vortex on May 30, 2019, 03:52:55 AM
Another source :

https://www.filehorse.com/download-word-viewer/

Interesting, Erol. To the left, the filehorse version, to the right the one that I have been using until now. After installing the WordViewer, they are in C:\Program Files (x86)\Common Files\microsoft shared\OFFICE11\RICHED20.DLL

Hi jj2007,

your dll has another source  :azn:, since version 5.50.99.2010 is packaged in the installer. To check this, the installer can be opened using 7zip. The version on the left is the version I have on the system, as you can see, this is the 6th version.   


aw27

The full list of rich edit controls is here:
http://masm32.com/board/index.php?topic=7780.msg85317#msg85317

I have done a considerable investigation work on these creepy and cumbersome RichEdit controls and can only congratulate Mr. Murray Sargent and his team for making a living of more than 20 years through obscurity around the RichEdit.
Just for comparison purposes, TRichView is developed by a single person, is 10 times more advanced and is distributed with full source code when purchased, which is not a real fortune.

LiaoMi

 :biggrin: with version 6 everything is fine, there is also a surprise version 8  :joking:
RichEdit 8.0 Preview https://blogs.msdn.microsoft.com/murrays/2012/03/03/richedit-8-0-preview/
RichEdit 9 Additions https://blogs.msdn.microsoft.com/murrays/2019/01/18/richedit-9-additions/ I don't know where to download the 9th version ...



0032 0016BE50 0025C6C9 ConvertEquationFromOleStream
0033 0016C2F0 0025C6E6 ConvertEquationFromStdVector
0031 0016C380 0025C703 ConvertEquationFromStorage
0034 0016C3A0 0025C71E ConvertEquationFromStorageEx
0029 0023B0E0 0025C73B CreateFormattedTextRichEdit
001A 00211170 0025C757 CreateMathXmlHandler
0017 000A1450 0025C76C CreateTextBoxLayout
0004 0000A2C0 0025C780 CreateTextServices
0014 00072E70 0025C793 DisableOleinitCheck
0022 0022D4D0 0025C7A7 DllCanUnloadNow
000C 000B3540 0025C7B7 DllGetVersion
0027 001808D0 0025C7C5 GetLanguageTag
0028 001808F0 0025C7D4 GetLcidFromLang
0016 001F87B0 0025C7E4 GetMathAlphanumeric
0015 001F8B70 0025C7F8 GetMathAlphanumericCode
0035 00207E50 0025C810 GetMathAutoComplete
001B 00208C80 0025C824 GetMathContextMenu
001D 002094E0 0025C837 GetMathContextMenuItems
002F 0020DDD0 0025C84F GetMathSpeechText
0038 000BE460 0025C861 GetOleMathSpeechText
0002 0025CB10 0025C876 IID_IRichEditOle
0003 0025C370 0025C887 IID_IRichEditOleCallback
0025 0025C380 0025C8A0 IID_IRicheditUiaNotificationOverrides
0021 0025C3A0 0025C8C6 IID_IRicheditUiaOverrides
0020 0025C390 0025C8E0 IID_IRicheditWindowlessAccessibility
0018 0025C360 0025C905 IID_ITextDocument2
0006 0025C320 0025C918 IID_ITextHost
0007 0025C310 0025C926 IID_ITextHost2
0010 0025C350 0025C935 IID_ITextHostEx
0005 0025C330 0025C945 IID_ITextServices
0019 0025C340 0025C957 IID_ITextServices2
0030 00171A50 0025C96A IsFontTemporary
0012 002026B0 0025C97A MathBuildDown
0011 00202740 0025C988 MathBuildUp
0013 00202A30 0025C994 MathTranslate
001C 00209AE0 0025C9A2 ProcessMathMenuID
0008 0007A8D0 0025C9B4 REExtendedRegisterClass
001F 0007A8C0 0025C9CC REMSOHInst
0026 00180940 0025C9D7 RegisterLanguageTag
002C 00171B20 0025C9EB RemoveFontFromCache
000F 0006E780 0025C9FF RichComboBoxWndProc
000A 00227830 0025CA13 RichEdit10ANSIWndProc
0009 002278D0 0025CA29 RichEditANSIWndProc
000D 00078620 0025CA3D RichEditWndProc
000E 0006F4F0 0025CA4D RichListBoxWndProc
000B 001E5F60 0025CA60 SetCustomTextOutHandlerEx
002D 001E5570 0025CA7A SetEdpPermissionMode
0024 000BAA40 0025CA8F SetTextServicesDpiCalculationOverride
0023 00071D00 0025CAB5 ShutdownTextServices
0037 00036C00 0025CACA TurnOffMathAutoCompleteList
0036 002082B0 0025CAE6 TurnOnMathAutoCompleteList
001E 0017A900 0025CB01 WriteMathPrSax


Quote from: AW on May 30, 2019, 09:58:23 PM
The full list of rich edit controls is here:
http://masm32.com/board/index.php?topic=7780.msg85317#msg85317

I have done a considerable investigation work on these creepy and cumbersome RichEdit controls and can only congratulate Mr. Murray Sargent and his team for making a living of more than 20 years through obscurity around the RichEdit.
Just for comparison purposes, TRichView is developed by a single person, is 10 times more advanced and is distributed with full source code when purchased, which is not a real fortune.

Hi AW,

thanks for the tip, I did not notice this description  :thumbsup:

jj2007

Version 8.0 ships with Office 2013 and works fine with RichMasm; version number is 15.0.4420.1017

There is a second 8.0 version that comes with Office 2016, 16.0.4327.1000 that is OK for small controls but crashes violently when used with RichMasm. I don't have the matching msptls.dll, though, although I doubt that is the reason for the crash.

RichMasm users can test the DLL by copying their version of RichEd20.dll into \Masm32\MasmBasic, together with the \Masm32\MasmBasic\MSPTLS.DLL. Launch RichMasm and press F9 to see the version info at the bottom.

See also Making RichEdit work properly on Windows 10 and the answer by Hans Passant, plus Murray Sargent: RichEdit 9 Additions

hutch--

 :biggrin:

I enjoy being a barbarian who still uses riched 3.0 as it has characteristics I like and its been around for years. I not only use it for my plain text editors but for the RTF help files I now do with it.

Testing a few new smilies.  :skrewy: :hmmm: :joking: :rofl: :toothy: :azn:

aw27

There is really not a significant difference from 3.0 to the latest and greatest.
Color emoticons still don't work, even with DirectWrite and Direct2D in the windowless version (despite apparent claims that it does). Inserting pictures is difficult as we know. Animated gifs, can't be done despite claims, unless we use a timer to display the image frames. Tables are a mess to work with. Math symbols don't work, despite claims. No samples whatsoever, showing how to use anything (other than the basic). A complete Nigerian scam.

:skrewy:  :skrewy: :skrewy: :skrewy:

felipe

 :icon_arrow:
Quote from: AW on May 31, 2019, 01:09:00 AMA complete Nigerian scam.

that's funny
:cheezy: