VC++中,文本编辑器已经设置了multiline多行属性,但运行时为什么没有显示多行?
VC++中,我用对话框设计一个文本编辑控件,文本编辑控件已经设置了multiline多行属性,设置为true,但运行时为什么没有显示多行?都是只有一行,其他我都没有设置什...
VC++中,我用对话框设计一个文本编辑控件,文本编辑控件已经设置了multiline多行属性,设置为true,但运行时为什么没有显示多行?都是只有一行,其他我都没有设置什么,而且我的那个文本编辑控件足够高的,但就是显示不出来,这是什么原因呢?请各位帮帮忙!谢谢!
我刚才试了一下,好像都不行啊,当在文本编辑控件里输入文字后,按一下回车键,就立刻退出来了。还有这个文本编辑控件应该跟"\r\n"无关吧,因为我现在是做MFC程序,只是做一个文本编辑控件而已。而且我发现我的这个文本编辑控件中的Auto VScroll属性改不了,字体颜色变浅了,而且它的值是false.想改为true 都不行,为什么这么奇怪呢? 展开
我刚才试了一下,好像都不行啊,当在文本编辑控件里输入文字后,按一下回车键,就立刻退出来了。还有这个文本编辑控件应该跟"\r\n"无关吧,因为我现在是做MFC程序,只是做一个文本编辑控件而已。而且我发现我的这个文本编辑控件中的Auto VScroll属性改不了,字体颜色变浅了,而且它的值是false.想改为true 都不行,为什么这么奇怪呢? 展开
3个回答
展开全部
这是因为在Windows程序设计中用\r\n来表示换行,而不是命令行程序中的\n。
将你的代码中的\n改为\r\n就好了。
-----------------------------
关于回车键换行楼上已经说得很清楚了,如果没有开启Want Return属性,则只能用Alt+Enter换行,因为单独的Enter键是系统按键,MFC中将他和对话框的默认按钮绑定(一般为确定按钮),也就是和OnOk()函数绑定了,而你可能没有重载OnOK()并取消调用CDialog::OnOK(),所以才会自动退出。
不能选择Auto VScroll属性倒是很奇怪,一般只有没选中MultiLine属性才会出现此情况。
不行就截张图吧,让大家看看你对这个文本框的属性配置
将你的代码中的\n改为\r\n就好了。
-----------------------------
关于回车键换行楼上已经说得很清楚了,如果没有开启Want Return属性,则只能用Alt+Enter换行,因为单独的Enter键是系统按键,MFC中将他和对话框的默认按钮绑定(一般为确定按钮),也就是和OnOk()函数绑定了,而你可能没有重载OnOK()并取消调用CDialog::OnOK(),所以才会自动退出。
不能选择Auto VScroll属性倒是很奇怪,一般只有没选中MultiLine属性才会出现此情况。
不行就截张图吧,让大家看看你对这个文本框的属性配置
展开全部
设置了multiline后,就能够支持多行,但有时效果上怎么体现还要看其他属性,包括Auto HScroll、Auto VScroll、Want Return等。如果Want Return属性为true,则按回车键换行,如果它为false,则按alt+enter换行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有一个选项 设置编辑框属性的地方 multiline 还有一个 want return 选上就可以用回车了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询