- This topic has 3 replies, 2 voices, and was last updated 8 years ago by Chike.
June 5, 2015 at 3:08 pm #186431Jerrri2012Member
I tried all tips to retrieve RTF text as it is from a RTF field from pal
No success 🙁
Anybody have an idea about how to use em_streamout constant ?
ExStreamOutJune 5, 2015 at 9:29 pm #186434
And ask Loco to fix his @#$% and permit the source file.June 6, 2015 at 8:11 am #186433
OK never mind Loco, he’s too busy at the beach, I’ve uploaded a zip archive instead the source/header files.
I can change GetRichText to get the buffer and max size as parameters and return integer or bool so it would be easier to use in VB and make a DLL
bool __stdcall GetRichText(HWND hwndRichEdit, char *sRtf, int iRtfMax);
and in VB
Declare Ansi Function GetRichText Lib "EditStream.DLL" _ (ByVal hwndRichEdit As Long, ByVal sRtf As StringBuffer, ByVal iRtfMax As Integer) As BooleanJune 6, 2015 at 4:58 pm #186432
Attached is DLL you may try to use.
Code is basically the, just fixed a big and removed some flags
Declare Ansi Function GetRichText Lib "ExStreamOut.dll" _ (ByVal hwndRichEdit As Integer, ByVal sRtf As StringBuilder, ByVal iRtfMax As Integer) As Integer
If there is insufficient space the function return the number of bytes needed (negative number)
If the function fails for some other reason it return -Int32.MaxValue.
example call to the function
Dim Rtf As New StringBuilder ' (1) Dim res As Integer While True res = GetRichText(richHandle, Rtf, Rtf.Capacity) If res > 0 Or res = -Int32.MaxValue Then Exit While End If Rtf.Capacity += -res End While
- You must be logged in to reply to this topic.