元の文字列を追加して 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}