0

编辑代码本身时,如何将字符串设置为从右到左 (U+200F RIGHT-TO-LEFT MARK (RLM)) unicode char?

意思是,我有给定的代码:

CComPtr<MSForms::IControl> spISubjectControl;
spControls->_GetItemByName(_bstr_t(L"Subject"), &spISubjectControl);
if (spISubjectControl != NULL) {
    CComPtr<Outlook::_OlkTextBox> spSubject;
    hr = spISubjectControl.QueryInterface(&spSubject);
    if (spSubject != NULL) {
        CString subject = L"Some words in some RTL language";
        spSubject->put_Text(_bstr_t(subject));
    }
}

不幸的是,在主题 TextBox 的“高级属性”中添加方向和特殊字符是不够的,似乎一旦我更改了 TextBox 的内容,方向就会重置为 LTR。

请帮忙 :)

谢谢,

尼力

4

1 回答 1

0

确保subject字符串确实包含 Unicode RLM 字符。尝试使用L"\u200F ‏Some words in some RTL language". 如果\u200F转义序列不起作用,请尝试\x200F

于 2011-08-29T07:51:32.387 回答