从数据库读取文本写入编辑框,自动换行的有关问题
从数据库读取文本写入编辑框,自动换行的问题
本帖最后由 lovegame3 于 2012-11-14 20:38:23 编辑 我想从Access数据库里取出文本,放进编辑框中,可文本太长了,需要拖动编辑框下部的滚动条才能看全。查了一些方法,比如
------最佳解决方案--------------------
ES_AUTOVSCROLL
------其他解决方案--------------------
你编辑框自己有multiline属性设置的
就可以显示多行了
------其他解决方案--------------------
再在rc文件里看看是不是想我的这样的?IDC_FILEPATH,12,59,281,102,ES_MULTILINE
------其他解决方案--------------------
哥哥,我肯定设置了……也勾选了Auto Hscroll Vertical scroll
------其他解决方案--------------------
输出的还是一行。
你如果设置了,怎么可能还是1行?
------其他解决方案--------------------
我也不清楚,文本我是从数据库里读的,
------其他解决方案--------------------
可以将文本分割一下再显示出来,例如:字符串中每次取10个字符加一个换行再显示。
------其他解决方案--------------------
字符串是从数据库取的,我不想改变数据库中的文本,能在取的时候设置吗?怎样设置啊?菜鸟,不会啊……
------其他解决方案--------------------
那你取出来的字符串带没带换行啊,如果没带换行的话当然会一整行显示了。
------其他解决方案--------------------
可以把Auto HScroll设为false,这样每到编辑框显示不下的时候文本会自动换行。
------其他解决方案--------------------
clff+"\r\n" cstring和char*类型可以直接相加啊?
------其他解决方案--------------------
还是不行………………
------其他解决方案--------------------
取出来的字符串付给一个变量,然后setWindowText,“取出来的字符串带没带换行”什么意思,在数据库的文本中加\n吗?不管用啊
------其他解决方案--------------------
反正是运行无误,我是菜鸟,不是很懂。文本现出来来,就是所有文字显示在一行,还是没有自动换行。这两句句“m_clff.SetSel(-1, -1); //自动滚屏 m_clff.ReplaceSel(clff+"\r\n"); //自动换行”,和直接setWindoText效果一样,一行显示,显示不全。
本帖最后由 lovegame3 于 2012-11-14 20:38:23 编辑 我想从Access数据库里取出文本,放进编辑框中,可文本太长了,需要拖动编辑框下部的滚动条才能看全。查了一些方法,比如
str += "\r\n";GetDlgItem(Edit1)->SetWindowText(str);只是写完了把焦点移到下一行了。因为只写一次,又没法分割文本,这些方法都不起作用,输出的还是一行。哪位高手有好办法,指点一二啊!
------最佳解决方案--------------------
ES_AUTOVSCROLL
------其他解决方案--------------------
你编辑框自己有multiline属性设置的
就可以显示多行了
------其他解决方案--------------------
再在rc文件里看看是不是想我的这样的?IDC_FILEPATH,12,59,281,102,ES_MULTILINE
------其他解决方案--------------------
哥哥,我肯定设置了……也勾选了Auto Hscroll Vertical scroll
------其他解决方案--------------------
输出的还是一行。
你如果设置了,怎么可能还是1行?
------其他解决方案--------------------
我也不清楚,文本我是从数据库里读的,
CString clff=(char*)(_bstr_t)m_pRs->GetCollect("餐饮");这是这段的代码。确实勾选了mutiline
m_clff.SetSel(-1, -1); //自动滚屏
m_clff.ReplaceSel(clff+"\r\n"); //自动换行
UpdateData(FALSE);
------其他解决方案--------------------
可以将文本分割一下再显示出来,例如:字符串中每次取10个字符加一个换行再显示。
------其他解决方案--------------------
字符串是从数据库取的,我不想改变数据库中的文本,能在取的时候设置吗?怎样设置啊?菜鸟,不会啊……
------其他解决方案--------------------
那你取出来的字符串带没带换行啊,如果没带换行的话当然会一整行显示了。
------其他解决方案--------------------
可以把Auto HScroll设为false,这样每到编辑框显示不下的时候文本会自动换行。
------其他解决方案--------------------
clff+"\r\n" cstring和char*类型可以直接相加啊?
------其他解决方案--------------------
还是不行………………
------其他解决方案--------------------
取出来的字符串付给一个变量,然后setWindowText,“取出来的字符串带没带换行”什么意思,在数据库的文本中加\n吗?不管用啊
------其他解决方案--------------------
反正是运行无误,我是菜鸟,不是很懂。文本现出来来,就是所有文字显示在一行,还是没有自动换行。这两句句“m_clff.SetSel(-1, -1); //自动滚屏 m_clff.ReplaceSel(clff+"\r\n"); //自动换行”,和直接setWindoText效果一样,一行显示,显示不全。