MFC中CEdit控件的换行输入
2011-03-24 22:22
183 查看
这两天进行MFC编程遇到一个CEdit控件换行显示的问题,先看一段测试代码:
CEdit edit;
CString str;
str += "abc";
str += "/r/n";
str += "def";
edit.SetWindowText(str);
控件中显示为:"abc def"
这是因为除了要用/r/n外,还要都CEdit 的属性进行设置:
Auto HScroll 设置为 False
MultiLine 设置为 True
Want Return 设置为 True。
在网上还看到另外一些方法,还没有验证,先贴在这里:
经过多次测试,总结出VC编辑框(EDIT)的自动换行与自动滚屏的方法。
方法一:(当EDIT映射到一CString时)
m_String = m_String + sNewString + " " //自动换行
UpdateData(false);
此法只能做到自动换行,不会自动滚屏到最后一行。
方法二:(当EDIT映射到一EDIT时)
m_Edit.SetSel(-1, -1); //自动滚屏
m_Edit.ReplaceSel(sNewString+" "); // sNewString会接edit里的数据继续添加,且自动换行
UpdateData(true);
此法可以做到自动换行,并自动滚屏到最后一行。
以上,m_String、m_Edit.分别为给编辑框添加的成员变量;sNewString 为要显示的字符串
注意二法中UpdataData参数的区别。
//设置编辑框焦点
GetDlgItem (IDC_EDIT1)->SetFocus();
CEdit edit;
CString str;
str += "abc";
str += "/r/n";
str += "def";
edit.SetWindowText(str);
控件中显示为:"abc def"
这是因为除了要用/r/n外,还要都CEdit 的属性进行设置:
Auto HScroll 设置为 False
MultiLine 设置为 True
Want Return 设置为 True。
在网上还看到另外一些方法,还没有验证,先贴在这里:
经过多次测试,总结出VC编辑框(EDIT)的自动换行与自动滚屏的方法。
方法一:(当EDIT映射到一CString时)
m_String = m_String + sNewString + " " //自动换行
UpdateData(false);
此法只能做到自动换行,不会自动滚屏到最后一行。
方法二:(当EDIT映射到一EDIT时)
m_Edit.SetSel(-1, -1); //自动滚屏
m_Edit.ReplaceSel(sNewString+" "); // sNewString会接edit里的数据继续添加,且自动换行
UpdateData(true);
此法可以做到自动换行,并自动滚屏到最后一行。
以上,m_String、m_Edit.分别为给编辑框添加的成员变量;sNewString 为要显示的字符串
注意二法中UpdataData参数的区别。
//设置编辑框焦点
GetDlgItem (IDC_EDIT1)->SetFocus();
相关文章推荐
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- MFC 如何让CEdit控件只能输入数字、正负号、小数点(浮点数)
- 【MFC】判断CEdit控件输入内容是否为数字、大写字母、常用汉字
- MFC控件扩展-CEdit实现回车换行
- MFC中CEdit控件使用SetSel无法取消全选状态解决办法
- 编辑框控件:MFC编辑框自动换行,垂直滚动条自动下移
- MFC 自定义数字控件 (继承自CEdit)
- MFC中EDIT控件实现换行
- MFC控件 CEdit 没有WM_LBUTTONDBCLK事件
- 自定义MFC CEdit控件的外观
- Tab Control——属性页的子对话框中的CEdit控件无法输入的解决办法
- VC MFC ComoBox控件只接受数字输入
- CEdit控件输入数字限制(转)
- 编辑框控件:MFC编辑框自动换行,垂直滚动条自动下移
- VC限制只能输入常规数字的CEdit控件
- CEdit控件对输入参数的控制,包括右键面板及快捷键的处理