GetSelText()总是返回为空?

txz_yshb 2010-10-09 04:09:26
我重载了一个CRichEditCtrl类CMenuEdit,Dialog里有个编辑框与之关联
CMenuEdit m_edit; //成员变量

我是想要在回车的时候得到这次输入的字符串
nLen = m_edit.GetWindowTextLength();
m_edit.SetSel(nEndChar, nLen); //nEndChar保存的是上次光标位置
m_eidt.GetSelText(m_szBuf);

为什么我这里m_szBuf总是为空?

用m_edit.GetLine(1,m_szBuf)也总是为空?
...全文
220 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
txz_yshb 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 thomtadie 的回复:]

m_edit.SetSel(nEndChar, nLen); 这句是否确实选中了一些文本呢?
不行就直接:
char *cValue = new char[nTxtLength];
::SendMessage(m_hWnd/*richedit句柄*/,EM_GETSELTEXT,WPARAM(nTxtLength),LPARAM(cValue));
...
...
delete []……
[/Quote]

m_edit.SetSel(nEndChar, nLen);
m_edit.GetSel(i,j);
得到结果i == nEndChar j == nLen

SendMessage,这个我呆会试下
txz_yshb 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 windsonzhl 的回复:]

m_edit.SetSel(nEndChar, nEndChar+nLen);

“SetSel第二个参数表示选取长度”,这个是你自己想出来的,还是别人误导的:)
[/Quote]

恐怕是你搞错了
nLen = m_edit.GetWindowTextLength();这个是编辑框内Text的长度,也就是最后一个字符的index
txz_yshb 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nowish 的回复:]

nEndChar保存的是上次光标位置,正确得到了吗?
[/Quote]

肯定正确
wswway 2010-10-09
  • 打赏
  • 举报
回复
关注中、。。。
FireBirdCN 2010-10-09
  • 打赏
  • 举报
回复
m_edit.SetSel(nEndChar, nLen);
先把 两个参数手动指定固定的数来做实验 如 (0,-1)
看能不能正常取到
否则看你的GetSelText(m_szBuf); 中m_szBuf参数
CString m_szBuf;
m_szBuf=m_eidt.GetSelText();
科学家 2010-10-09
  • 打赏
  • 举报
回复
m_edit.SetSel(nEndChar, nLen); 这句是否确实选中了一些文本呢?
不行就直接:
char *cValue = new char[nTxtLength];
::SendMessage(m_hWnd/*richedit句柄*/,EM_GETSELTEXT,WPARAM(nTxtLength),LPARAM(cValue));
...
...
delete []cValue;


  • 打赏
  • 举报
回复
m_edit.SetSel(nEndChar, nEndChar+nLen);

“SetSel第二个参数表示选取长度”,这个是你自己想出来的,还是别人误导的:)
做鸡真好吃 2010-10-09
  • 打赏
  • 举报
回复
nEndChar保存的是上次光标位置,正确得到了吗?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧