关于对话框中显示数据的问题-VC-MFC-界面.doc
文本预览下载声明
我现在做了一个对话框(包含一个按钮),还写好了一个TXT文本(有300行数据,各行均显示5个数字),我的想法是按下对话框按钮之后,开始读取文本数据,并且一行一行的显示在对话框中,当然,后显示的一行不能覆盖前面显示的一行,要提行显示,并且在显示完之后,通过滚动条查看之前现实的所有数据~ 有大侠建议用richedit~我还是不太清楚,能详细解释一下吗? HTMLCONTROL Forms.HTML:Hidden.1
#2楼 得分:10回复于:2010-08-02 14:35:22
读一行往listbox(或类似)控件中加一行
#3楼 得分:10回复于:2010-08-02 14:39:32
拖一个Edit Box控件(拉的尽量大), 选择Multiline , AutoHScroll, AutoVScroll风格往里面插数据就OK
#4楼 得分:10回复于:2010-08-02 14:42:44
你的数据要修改不?如果不修改,ClistCtrl就可以。如果要修改,ClistCtrl就麻烦点,可以使用CRichEdit。这些都可以满足你的要求。具体实现上,画一个ListCtrl,然后给你的Dialog榜定一个ClistCtrl的对象。然后读取文件,每读取一条记录,给ClistCtrl InsertItem就可以了。
#5楼 得分:10回复于:2010-08-02 14:46:35
引用楼主 wangjix 的回复:之前发了一篇求助帖,可能自己没有说清楚,让很多好心解答的大侠都无语了,这次要讲清楚了,请教各位~我现在做了一个对话框(包含一个按钮),还写好了一个TXT文本(有300行数据,各行均显示5个数字),我的想法是按下对话框按钮之后,开始读取文本数据,并且一行一行的显示在对话框中,当然,后显示的一行不能覆盖前面显示的一行,要提行显示,并且在显示完之后,通过滚动条查看之前……
CStdioFile类ReadString一行一行的读,伪代码CStdioFile file;file.Open(...,...);CString strLine(_T());CString strText(_T());while(file.ReadString(strLine)){? strText += strLine + _T(\r\n);}file.Close();SetDlgItemText(IDC_EDIT1, strText); // 编辑框勾上Multiline,Auto HScroll/VScroll等熟悉
#6楼 得分:10回复于:2010-08-02 14:48:46
当然可以实现。可以用CEdit来显示从文件中读取的每行的数据,当然也可以选择CListBox。以CEdit为例,将CEdit控件设置为多行、自动向下滚动、只读等属性,比如将CEdit控件定义为m_editShow。当点击按钮的时候,在消息响应函数里面,先打开需要读的文件file,然后CString strRow,str;str = _T();BOOL bContinue=TRUE;while(bContinue){? bContinue=file.ReadString(strRow);? strRow += \r\n;? str += strRow;}m_editShow.SetWindowText(str);从文件中一行一行的读取数据,然后显示在CEdit控件中,最后别忘记关闭文件。
#8楼 得分:10回复于:2010-08-02 16:54:54
有大侠建议用richedit~我还是不太清楚,能详细解释一下吗?? ============你的要求很简单,用EDIT就行了,不用richedit了,你对显示的字符又什么太多的要求,用CStdioFile一行行的读出来,每读出一行就加在一个CString中。注意要加“\r\n”换行。然后用SetDlgItemText或是SetWindowText将读出来的东西写到EDIT中就行了。
#9楼 得分:5回复于:2010-08-02 17:29:00
用CListCtrl 控件就可以@
#10楼 得分:5回复于:2010-08-03 11:00:26
新手路过,学习一下。
#11楼 得分:0回复于:2010-08-04 14:42:20
引用 6 楼 totti1006 的回复:当然可以实现。可以用CEdit来显示从文件中读取的每行的数据,当然也可以选择CListBox。以CEdit为例,将CEdit控件设置为多行、自动向下滚动
显示全部