1
我有豐富的編輯控件,我想在它添加格式的文本,但它不工作:格式添加富文本框
const char* str="{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard\
This is some {\b bold} text.\par\
}";
LoadLibrary("riched32.dll");
HWND hEdit= CreateWindowEx(WS_EX_CLIENTEDGE, RICHEDIT_CLASS, str,
WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL
| ES_READONLY, 0, 0, 100, 100,
hwnd, (HMENU) IDC_MAIN_EDIT, GetModuleHandle(NULL), NULL);
我知道我可以添加使用PARAFORMAT
和CHARFORMAT
格式化和發送消息是這樣的控制:
PARAFORMAT pf;
CHARFORMAT cf;
memset(&cf, 0, sizeof cf);
cf.cbSize = sizeof cf;
cf.dwMask = CFM_BOLD;
cf.dwEffects = CFE_BOLD;
SendMessage(hEdit, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM) &cf);
SendMessage(hEdit, EM_REPLACESEL, FALSE, (LPARAM) "bold ");
但我怎麼能做出的第一個工作,或者沒有辦法,有一個比第二個簡單的方法是什麼?提前致謝。