Hi all,
I got an application witha a RichEditCtrl, but it didn't support unicode texts.
In my class (CMyRtfRichEditCtrl : public CRichEditCtrl), I used to print formatted text like this:
-------------------------------------------------------
-------------------------------------------------------Code:// Received text (Cstring), colorref (COLORREF) CString strRTF; strRTF.Append(_T("{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang3082")); strRTF.Append(_T("{\\fonttbl{\\f0\\fnil\\fcharset0 %s;}}")); strRTF.Append(_T("{\\colortbl ;\\red%d\\green%d\\blue%d;}")); strRTF.Append(_T("\\viewkind4\\uc1\\pard\\cf1\\f0\\fs16 %s}")); CString strRTFFinish; strRTFFinish.Format(strRTF,_T("VERDANA"),GetRValue(colorref),GetGValue(colorref),GetBValue(colorref),text); ReplaceSel(strRTFFinish);
Now I need to print formatted texts in unicode. I have changed the RichEditCtrl and after several different codes:
- I can read unicode text (typed Chinese character in a richedit, just to test):
-------------------------------------------------------
-------------------------------------------------------Code:WCHAR lParam[100] = {0}; GETTEXTEX wParamIN; wParamIN.cb = (m_rtf.GetWindowTextLength()+1)*2; wParamIN.flags = GT_RAWTEXT; wParamIN.codepage = 1200; wParamIN.lpDefaultChar = NULL; wParamIN.lpUsedDefChar = NULL; LRESULT lResult = ::SendMessage(m_RichEditCtrl.m_hWnd, // handle to destination control EM_GETTEXTEX, (WPARAM) &wParamIN, (LPARAM) lParam); CString str = (CString)lParam; // Unicode text in 'str'
- I can write this unicode text in the RichEditCtrl:
-------------------------------------------------------
-------------------------------------------------------Code:WCHAR lParam[100] = {0}; SETTEXTEX wParamOUT; wParamOUT.codepage = 1200; wParamOUT.flags = ST_SELECTION; LRESULT lResult = ::SendMessage(m_rtf.m_hWnd, // handle to destination control EM_SETTEXTEX, (WPARAM) &wParamOUT, (LPARAM) (LPCTSTR)str); 'str' is the previous unicode text
But how can I print this text with format, like in the first code (color, bold,...)?
I hope I have explained my problem. I don't know from where to start...
Thanks in advance
Diego



LinkBack URL
About LinkBacks


