CEdit//SetSel()函数求解。。。

mirroatl187 2013-07-31 03:16:26


void SetSel(
int nStartChar,
int nEndChar,
BOOL bNoScroll = FALSE
);


nStartChar //参数说明不是 -1开始是选择当前删除吗????
Specifies the starting position. If nStartChar is 0 and nEndChar is –1, all the text in the edit control is selected. If nStartChar is –1, any current selection is removed.




Example
// The pointer to my edit.
extern CEdit* pmyEdit;

// Delete all of the text.
pmyEdit->SetSel(0, -1);
pmyEdit->Clear();

...全文
981 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[quote=引用 10 楼 mirroatl187 的回复:] edit的光标位置 置到数据头 怎么办 什么意思...这跟setsel()有什么关系?
mirroatl187 2013-08-01
  • 打赏
  • 举报
回复
edit的光标位置 置到数据头 怎么办
引用 8 楼 T_meY 的回复:
引用 7 楼 mirroatl187 的回复:
//0 -1 是全部选中唄? -1,-1 是啥意思呢??? [quote=引用 6 楼 T_meY 的回复:] [quote=引用 5 楼 mirroatl187 的回复:] SetSel(0, -1)//nEndChar是 -1啥意思呢。。。。 [quote=引用 2 楼 T_meY 的回复:]
就是全选的意思: nStartChar就是低位,nEndChar就是高位。[/quote][/quote] 如果编译器不报错的话,跟SetSel(-1, 0)是一样的,取消当前选定内容。但有可能nEndChar不能设置为-1[/quote]
向立天 2013-08-01
  • 打赏
  • 举报
回复
引用 4 楼 mirroatl187 的回复:
SetSel(-1, -1)//是啥意思呢。。。。 [quote=引用 3 楼 davidyu720 的回复:] Clear()方法是删除所选择的文本 取消选择是 SetSel(-1, 0)
[/quote]自己试一下不就知道 函数参数的各种组合有特定功能的会有特定说明 没有特定功能的都不是预定的状态 会有什么效果就算是函数编写者也要自己尝试
  • 打赏
  • 举报
回复
引用 7 楼 mirroatl187 的回复:
//0 -1 是全部选中唄? -1,-1 是啥意思呢???
引用 6 楼 T_meY 的回复:
[quote=引用 5 楼 mirroatl187 的回复:] SetSel(0, -1)//nEndChar是 -1啥意思呢。。。。 [quote=引用 2 楼 T_meY 的回复:]
就是全选的意思: nStartChar就是低位,nEndChar就是高位。[/quote][/quote] 如果编译器不报错的话,跟SetSel(-1, 0)是一样的,取消当前选定内容。但有可能nEndChar不能设置为-1
mirroatl187 2013-08-01
  • 打赏
  • 举报
回复
//0 -1 是全部选中唄? -1,-1 是啥意思呢???
引用 6 楼 T_meY 的回复:
引用 5 楼 mirroatl187 的回复:
SetSel(0, -1)//nEndChar是 -1啥意思呢。。。。 [quote=引用 2 楼 T_meY 的回复:]
就是全选的意思: nStartChar就是低位,nEndChar就是高位。[/quote]
  • 打赏
  • 举报
回复
引用 5 楼 mirroatl187 的回复:
SetSel(0, -1)//nEndChar是 -1啥意思呢。。。。

引用 2 楼 T_meY 的回复:

就是全选的意思:
nStartChar就是低位,nEndChar就是高位。
  • 打赏
  • 举报
回复
[quote=引用 16 楼 mirroatl187 的回复:]

//下面代码是在文本框,输入10行内容 + 换行
for(int i = 0 ;i< 10 ;i++) //不太理解 取消当前选择 是什么意思??? 不太理解
{
((CEdit*)GetDlgItem(IDC_EDIT_INFORMATION))->SetSel(-1,-1);
((CEdit*)GetDlgItem(IDC_EDIT_INFORMATION))->ReplaceSel(m_Field_Operate[i].strValue+_T("\r\n"));
}

这叫选中:
这个,就叫取消选中:
而,ReplaceSel()是要替换选中的文本。要实现上述代码功能,你完全可以先把十行数据放在同一个变量里,然后直接SetWindowText()就可以了。
mirroatl187 2013-08-01
  • 打赏
  • 举报
回复

//下面代码是在文本框,输入10行内容 + 换行
for(int i = 0 ;i< 10 ;i++)  //不太理解 取消当前选择 是什么意思??? 不太理解
{
((CEdit*)GetDlgItem(IDC_EDIT_INFORMATION))->SetSel(-1,-1);
((CEdit*)GetDlgItem(IDC_EDIT_INFORMATION))->ReplaceSel(m_Field_Operate[i].strValue+_T("\r\n"));
}
引用 15 楼 T_meY 的回复:
[quote=引用 14 楼 mirroatl187 的回复:] 没看明白 0 -1 //是全部选中内容 -1 -1 //也是??? 但是 我的测试结果 不一致呀 [quote=引用 13 楼 T_meY 的回复:] [quote=引用 12 楼 mirroatl187 的回复:] setsel(-1,-1) 是什么意思?????? [quote=引用 11 楼 T_meY 的回复:] [quote=引用 10 楼 mirroatl187 的回复:] edit的光标位置 置到数据头 怎么办 什么意思...这跟setsel()有什么关系?
[/quote] 哥,我在八楼已经跟你说了...[/quote][/quote] 你看清楚了:(0,-1)是全选;(-1,0)是取消当前的选择,那么如果(-1,-1)编译通过的话,应该是跟(-1,0)是一样的作用,是取消当前选择!!![/quote]
  • 打赏
  • 举报
回复
引用 14 楼 mirroatl187 的回复:
没看明白 0 -1 //是全部选中内容 -1 -1 //也是??? 但是 我的测试结果 不一致呀 [quote=引用 13 楼 T_meY 的回复:] [quote=引用 12 楼 mirroatl187 的回复:] setsel(-1,-1) 是什么意思?????? [quote=引用 11 楼 T_meY 的回复:] [quote=引用 10 楼 mirroatl187 的回复:] edit的光标位置 置到数据头 怎么办 什么意思...这跟setsel()有什么关系?
[/quote] 哥,我在八楼已经跟你说了...[/quote][/quote] 你看清楚了:(0,-1)是全选;(-1,0)是取消当前的选择,那么如果(-1,-1)编译通过的话,应该是跟(-1,0)是一样的作用,是取消当前选择!!!
mirroatl187 2013-08-01
  • 打赏
  • 举报
回复
没看明白 0 -1 //是全部选中内容 -1 -1 //也是??? 但是 我的测试结果 不一致呀
引用 13 楼 T_meY 的回复:
[quote=引用 12 楼 mirroatl187 的回复:] setsel(-1,-1) 是什么意思?????? [quote=引用 11 楼 T_meY 的回复:] [quote=引用 10 楼 mirroatl187 的回复:] edit的光标位置 置到数据头 怎么办 什么意思...这跟setsel()有什么关系?
[/quote] 哥,我在八楼已经跟你说了...[/quote]
  • 打赏
  • 举报
回复
引用 12 楼 mirroatl187 的回复:
setsel(-1,-1) 是什么意思?????? [quote=引用 11 楼 T_meY 的回复:] [quote=引用 10 楼 mirroatl187 的回复:] edit的光标位置 置到数据头 怎么办 什么意思...这跟setsel()有什么关系?
[/quote] 哥,我在八楼已经跟你说了...
mirroatl187 2013-08-01
  • 打赏
  • 举报
回复
setsel(-1,-1) 是什么意思??????
引用 11 楼 T_meY 的回复:
[quote=引用 10 楼 mirroatl187 的回复:] edit的光标位置 置到数据头 怎么办 什么意思...这跟setsel()有什么关系?
mirroatl187 2013-07-31
  • 打赏
  • 举报
回复
SetSel(0, -1)//nEndChar是 -1啥意思呢。。。。
引用 2 楼 T_meY 的回复:
mirroatl187 2013-07-31
  • 打赏
  • 举报
回复
SetSel(-1, -1)//是啥意思呢。。。。
引用 3 楼 davidyu720 的回复:
Clear()方法是删除所选择的文本 取消选择是 SetSel(-1, 0)
davidyu720 2013-07-31
  • 打赏
  • 举报
回复
Clear()方法是删除所选择的文本 取消选择是 SetSel(-1, 0)
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
是删除吗?不是取消当前选择吗?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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