1

次のようなリッチ エディット テキスト ボックスを作成しています。

const char *testText = "Hello \\bworld!";

LoadLibrary("riched20.dll");  

hwndoutbox = CreateWindowEx(
    ES_SUNKEN,
    RICHEDIT_CLASS,
    testText,
        WS_BORDER | WS_VISIBLE | WS_CHILD,
        0, 40, 300, 300,
        hwnd, 0, hInstance, NULL);

意図した結果は、「World」を太字にして「Hello World」を表示することです。私は何を間違っていますか?

\b は何かのエスケープコードかもしれないという予感がありますが、それを裏付ける情報があまり見つかりません

4

1 に答える 1

3

RTFの仕様を確認する必要があります。まず、RTF データにはヘッダーがあり、それを含めません。

実際、ウィキペディアの RTF に関するページ (ここ) は、開始するのに適した場所である可能性があります。これには、次のサンプル テキストが含まれます。

{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard
This is some {\b bold} text.\par
}

...これは太字の単語を含む文字列です。

「リッチ エディット コントロール」は、RTF をレンダリングするように設計されたコントロールです。

于 2012-06-18T12:38:48.320 に答える