我正在尝试通过附加原始字符串并重新发送 EM_SETTEXTEX 消息来将文本附加到富编辑控件。
char outputText[4096] = "{\\rtf1\\ansi\\ansicpg0\\deff0{\\colortbl;\\red0\\green0\\blue0;\\red255\\green0\\blue0;\\red50\\green205\\blue50;\\red255\\green140\\blue0;}TEST";
SETTEXTEX s;s.flags = ST_DEFAULT;s.codepage = CP_ACP;
SendMessage(hOutputWndText,EM_SETTEXTMODE,(WPARAM)TM_RICHTEXT,NULL);
SendMessage(hOutputWndText,EM_SETTEXTEX,(WPARAM)&s,(LPARAM)outputText);
我知道字符串上没有右括号,但它显示了我想要的。
TEST
现在我在富编辑控件中附加字符串并“重新设置”文本。请注意,我添加了一个右括号以防万一。
strcat_s(outputText,"NEWSTUFF}");
SendMessage(hOutputWndText,EM_SETTEXTEX,(WPARAM)&s,(LPARAM)outputText);
而这次的输出。
NEWSTUFF}
是什么赋予了?我将变量 outputText 打印到控制台,我得到了完整的字符串。
{\rtf1\ansi\ansicpg0\deff0{\colortbl;\red0\green0\blue0;\red255\green0\blue0;\red50\green205\blue50;\red255\green140\blue0;}TESTNEWSTUFF}