问题是这样的。
我将richedit的某一行设置成了只读,且已成功。代码如下:
m_rtf.SetEventMask(m_rtf.GetEventMask() | ENM_PROTECTED);
:CHARFORMAT cf;cf.cbSize = sizeof( cf );
cf.dwMask = CFM_PROTECTED;
cf.dwEffects = CFE_PROTECTED;
int line;
int nStart;
int nEnd;
nStart= m_rtf.LineIndex(-1);
line=m_rtf.LineFromChar(nStart);
nEnd=m_rtf.LineIndex(line+1);
m_rtf.SetSel(nStart,nEnd);
m_rtf.SetSelectionCharFormat( cf );
现在我想将设置了只读的一行恢复到默认的编辑状态,也就是可读也可写。我到底该怎么做? 请高手明示啊。
谢谢啦
我将richedit的某一行设置成了只读,且已成功。代码如下:
m_rtf.SetEventMask(m_rtf.GetEventMask() | ENM_PROTECTED);
:CHARFORMAT cf;cf.cbSize = sizeof( cf );
cf.dwMask = CFM_PROTECTED;
cf.dwEffects = CFE_PROTECTED;
int line;
int nStart;
int nEnd;
nStart= m_rtf.LineIndex(-1);
line=m_rtf.LineFromChar(nStart);
nEnd=m_rtf.LineIndex(line+1);
m_rtf.SetSel(nStart,nEnd);
m_rtf.SetSelectionCharFormat( cf );
现在我想将设置了只读的一行恢复到默认的编辑状态,也就是可读也可写。我到底该怎么做? 请高手明示啊。
谢谢啦
cf.dwMask = CFM_PROTECTED;
cf.dwEffects = CFE_PROTECTED;m_rtf.SetSelectionCharFormat( cf );你这样设置的只读,那反过来再设置回去不行吗?
我没做过,只是猜测
m_rtf.SetEventMask(m_rtf.GetEventMask() | ENM_PROTECTED);
我不是在只读函数中设置的,而是在创建richedit的函数中设置的。这段代码是设置行只读的整个代码:
CHARFORMAT cf;cf.cbSize = sizeof( cf );
cf.dwMask = CFM_PROTECTED;
cf.dwEffects = CFE_PROTECTED;
int line;
int nStart;
int nEnd;
nStart= m_rtf.LineIndex(-1);
line=m_rtf.LineFromChar(nStart);
nEnd=m_rtf.LineIndex(line+1);
m_rtf.SetSel(nStart,nEnd);
m_rtf.SetSelectionCharFormat( cf );如果我想再次设置行只读该怎么办?