if (pfs.DoModal() == IDOK) {//pfs是一個對話框,彈出后可設定段落格式的各種屬性,段落格式存盤在pfs.m_paraformat里面。
//pfs定義處:static CParaformatSetup pfs;//CParaFormatSetup為自定義對話框類,繼承CDialogEx
//dv為自定義類(C************View)的物件,繼承CView,m_ctrlEdit為富文本框2.0。
dv->m_ctrlEdit->SetFocus();
dv->m_ctrlEdit->SetSel(l, r);//選中,確保[l,r]區間長度不為零且不超限
int a = 100;
while (!dv->m_ctrlEdit->SendMessage(EM_SETPARAFORMAT, 0, (LPARAM) & (pfs.m_paraformat))&&(--a));//不停嘗試
//dv->m_ctrlEdit->SetParaFormat(pfs.m_paraformat);
}為什么選中了一段區間,SendMessage還是永遠回傳零?

急求!!在線等!!!
uj5u.com熱心網友回復:
EM_SETCHARFORMAT 的幫助檔案已經有說明了,wParam
Character formatting that applies to the control. If this parameter is zero, the default character format is set.
試一試 SCF_SELECTION
uj5u.com熱心網友回復:
哦,謝謝,但是我說的是ParaFormatuj5u.com熱心網友回復:
沒人了嗎?
uj5u.com熱心網友回復:
lParamPointer to a CHARFORMAT structure specifying the character formatting to use. Only the formatting attributes specified by the dwMask member are changed.
Microsoft Rich Edit 2.0 and later: This parameter can be a pointer to a CHARFORMAT2 structure, which is an extension of the CHARFORMAT structure. Before sending the EM_SETCHARFORMAT message, set the structure's cbSize member to sizeof(CHARFORMAT) or sizeof(CHARFORMAT2) indicate which version of the structure is being used.
The szFaceName and bCharSet members may be overruled when invalid for characters, for example: Arial on kanji characters.
uj5u.com熱心網友回復:
CHARFORMAT cf;
// Modify the selection format so that the selected text is
// displayed in bold and not striked out.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT|CFM_BOLD;
cf.dwEffects = CFE_BOLD;
m_myRichEditCtrl.SetSelectionCharFormat(cf);
// Verify the settings are what is expected.
m_myRichEditCtrl.GetSelectionCharFormat(cf);
ASSERT((cf.dwMask&(CFM_STRIKEOUT|CFM_BOLD)) ==
(CFM_STRIKEOUT|CFM_BOLD));
ASSERT((cf.dwEffects&(CFE_STRIKEOUT|CFE_BOLD)) == CFE_BOLD);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/23461.html
標籤:界面
