使用win32 api为丰富的编辑控件添加格式

时间:2012-06-18 12:12:22

标签: c++ winapi rtf

我正在创建一个丰富的编辑文本框,如下所示:

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);

预期的结果是以粗体显示“世界”的“Hello World”。 我做错了什么?

我预感到\ b可能是某个东西的转义代码,但我找不到太多信息来支持

1 个答案:

答案 0 :(得分:3)

您需要查看RTF的规范。首先,RTF数据有一个标题,你不包括它。

事实上,维基百科关于RTF(here)的页面可能是您开始的好地方。它包括此示例文本:

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

...这是一个带粗体字的字符串。

“富编辑控件”是一个用于渲染RTF的控件。