首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

有关CRichEditCtrl的一个有关问题

2012-06-05 
有关CRichEditCtrl的一个问题我的问题是:在字符改变的时候,怎么样获得改变字符的位置。如CRichEditCtrl中有

有关CRichEditCtrl的一个问题
我的问题是:在字符改变的时候,怎么样获得改变字符的位置。

如CRichEditCtrl中有一个字符串 abcdefg,当要在 c 后边添加一个字符的时候,怎么样获得字符 c 的序号(2)。
我添加了EN_CHANGE的响应,但是这个函数什么参数也没有传入。不知道怎么搞了。求高手帮忙

[解决办法]
CRichEditCtrl::CharFromPos
[解决办法]
CRichEditCtrl::GetCharPos

CPoint GetCharPos( long lChar ) const;

返回值:返回由lChar指定的字符的左上角的位置。

参数: lChar 字符的从零开始的索引。

说明:
此成员函数用来获取在一个CRichEditCtrl对象内的给定字符的位置(左上角)。该字符由给出的它的从零开始的索引指定。如果lChar大于此CRichEditCtrl对象中的最后一个字符的索引,则返回值指示的坐标是此CRichEditCtrl对象中刚好超过其最后一个字符的位置的坐标。
更多的信息,参见Win32文档中的EM_POSFROMCHAR.。

[解决办法]
SetEventMask(m_EventTextEdit.GetEventMask() | ENM_CHANGE);如果你是在父窗口处理,把这句话添加到父窗口里面,在OnCreate或者OnInitDlg 
比如m_EventTextEdit.SetEventMask(m_EventTextEdit.GetEventMask() | ENM_CHANGE);

如果是继承的CRichEditCtrl,并且在自己类处理,就添加到自己类的OnCreate函数吧。

热点排行