现下发现我的程序一个begue
CHARFORMAT charformat;
long nStartChar,nEndChar;
Myedit.GetSel( nStartChar, nEndChar ) ;
if(nStartChar==nEndChar)
AfxMessageBox("你没有选择任何东西!");
else
{
Myedit.GetSelectionCharFormat(charformat);
charformat.dwEffects=CFE_STRIKEOUT;
Myedit.SetSelectionCharFormat(charformat);
}
按道理我改的是当前选定的字,但继续在这行里打字,strikeout的属性继续保持
我不知改怎么去掉它
另外charformat里的dwMask和dwEffect从msdn看好像没什么区别,它们的区别是什么
CHARFORMAT charformat;
long nStartChar,nEndChar;
Myedit.GetSel( nStartChar, nEndChar ) ;
if(nStartChar==nEndChar)
AfxMessageBox("你没有选择任何东西!");
else
{
Myedit.GetSelectionCharFormat(charformat);
charformat.dwEffects=CFE_STRIKEOUT;
Myedit.SetSelectionCharFormat(charformat);
}
按道理我改的是当前选定的字,但继续在这行里打字,strikeout的属性继续保持
我不知改怎么去掉它
另外charformat里的dwMask和dwEffect从msdn看好像没什么区别,它们的区别是什么
os 应该是支持的。我的问题只出现在当前行,且是当选定字到末尾,才发现这样的情况
如果你有在crichecitctrl里这样成功的例子,能发一个给小弟吗?
to romberg:
有创意
to 大家
这种情况是为什么发生的?
谢谢你的代码,但和我自己的代码一样,有上述问题.
我有一些新的发现:
当我打完几个字,我选中这行,把它underline一下,用鼠标拖一下当前位子,发现后面还有大约一个字的空间.我按了空格,跳过这一个字的空间,再继续写,那再写的东西,任就保持原来的属性.
我想这是问题的结症:我不跳过这个空间,我继续写的东西任就不在默认的字体范围里.而因为如此,才有上面的现象.
现在的问题是怎么解决之?
CEdit里好像没有这种情况.怪)