2

我正在尝试通过附加原始字符串并重新发送 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}
4

0 回答 0