一个 VC 编辑框换行的小问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个 VC 编辑框换行的小问题相关的知识,希望对你有一定的参考价值。

我做了一个小的通讯用程序
用一个编辑框 显示接收到的信息
在classWizard->menber Variables中对编辑框添加了一个变量m_strRXData
在程序里面写下下面两行 目的是让接收到信息后在编辑框里面显示并自动滚屏
m_strRXData.SetSel(-1, -1); //自动滚屏
m_strRXData.ReplaceSel(strtemp+"\r\n"); //自动换行

运行后出现错误
D:\set\SCommTest\SCommTestDlg.cpp(221) : error C2039: 'SetSel' : is not a member of 'CString'
c:\program files\microsoft visual studio\vc98\mfc\include\afx.h(368) : see declaration of 'CString'
D:\set\SCommTest\SCommTestDlg.cpp(222) : error C2039: 'ReplaceSel' : is not a member of 'CString'
c:\program files\microsoft visual studio\vc98\mfc\include\afx.h(368) : see declaration of 'CString'
Error executing cl.exe.

是不是SetSel ReplaceSel需要添加头文件?应该是个很容易的小问题吧
请那位大虾不吝赐教
2楼的wrgljylys 我想应该是你说的
有什么办法 能帮我实现下么?

从你的编译信息看出来你加的变量是CString类型的,
但是CString是没有SetSel和ReplaceSel这两个成员函数的(把CString和CEdit弄混了吧)

解决的方法是为编辑框添加关联变量CString m_strRXData,用以保存数据。在添加一个控制变量CEdit m_Edit,用以完成SetSel和ReplaceSel工作即可。
使用ClassWizard添加变量的时候注意一下,第一个下拉框Category有两项:
Value:添加对应的CString m_strRXData
Control:添加对应的CEdit m_Edit
参考技术A .SetSel 和.ReplaceSel是 CEdit类或CListBox类或CRichEditCtrl类的成员函数
在建立类向导的时候给这个控件添加一个control 就可以了··不要建立成CString 的··
参考技术B 不知道你用的是VC多少版本,03的有些语法在05和08不适合,你用TCHAR a[20];方法申请下,或者查下MSDN 参考技术C 假设要在编辑框内输出"12345\n6789"。
首先要设置编辑框的multiline属性为true
然后输出时,除了要加\n,还要有\r。也就是说,如果要12345和6789在两行显示,需要输出12345\r\n6789。
代码如下:m_strdata
=
"12345\r\n67890";
//
m_strdata是和编辑框关联的变量
updatedata(false);
//更新控件

HTML如何换行

换行通过使用
这个Tag,可以在不新建段落的情况下换行。
没有Closing Tag。用<p>换行是个坏习惯,正确的是使用
。<p>This
is a para
graph with line breaks</p>

需要准备的材料分别有:电脑、浏览器、html编辑器。

1、首先,打开html编辑器,新建html文件,例如:index.html,编写问题基础代码。

2、在index.html中的<body>标签中,将外层的table改为div,新增css代码:div width: 300px; table float: left;。

3、浏览器运行index.html页面,此时表格们实现了每3个自动换行。

参考技术A

1、使用win+r键,进入windows的命令行模式。

2、或者通过win10自带的搜索功能进入。

3、在配置好Python运行环境的命令行模式下。

4、输入Python之后,进入最后Python 命令提示符。

5、不用换行的话,print语句将会如下。

6、使用Python 的 \\在字符串中输入可以换行。

7、最后通过使用\\的效果如下。可以看到最终几行的字符串都被拼成了一个字符串,然后被打印了出来。

参考技术B 如果是为了页面布局的话可以用<br/>来换行,这是HTML里的标签。
如果是文字内的换行可以用 & # 1 0 ; 这个转义字符,类似 & n b s p ; 是空格一样。
但是两者是有区别的,换行标签<br/>表示页面布局的换行,虽然在文字中也能起到相同的视觉效果,但是标签和转义字符的区别不能混淆。例如部分文字描述属性中无法使用<br/>来换行,因为标签是不能写在属性值里的,列如title、alt属性等等,这时只能使用转义字符 & # 1 0 ; 来起到换行效果。
PS:由于网页可能会将转义字符特殊处理,故字符间加了空格,使用时不需要。
参考技术C 换行<br/>,当内容超过盒子宽度一般会自动换行,除非你全部连续的英文单词,它会认为你是一个整体不会给你换行,这时候加上一句属性就可以了。 参考技术D

HTML换行的方式有多种。

具体换行方式如下:

1.HTML换行的代码是<br>,想要在哪一行换行,在那一行的代码后输入<br>代码即可实现换行操作。

2.如果换行的位置是DIV层,还可以这样写<div style="padding-left:5px"><img src="图片"></div>

3.可以通过第三方的软件做HTML更方便各种操作,例如dream wearer,换行只需要回车即可实现。

以上是关于一个 VC 编辑框换行的小问题的主要内容,如果未能解决你的问题,请参考以下文章

MFC可以换行的编辑框

如何实现Java多行文本框换行效果

HTML如何换行

c#文本框如何换行

VC做串口程序如何把编辑框中的字符串转换成16进制数

VC中编辑框更新SetDlgItemText()与UpdateData()的区别