关于对话框中显示数据的问题-VC-MFC-界面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由faki ne贡献
d oc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
我现在做了一个对话框(包含一个按钮),还写好了一个 TXT文本(有 300行数据,各行均显示5 个数字),我的想法是按下对话框按钮之后,开始读取文本数据,并且一行一行的显示在对话框中,当然,后显示的一行不能覆盖前面显示的一行,要提行显示,并且在显示完之后,通过滚动条查看之前现实的所有数据~ 有大侠建议用r iched it~我还是不太清楚,能详细解释一下吗?
10 回复于:2010-08-02 14:35:22
往 li stbox(或类似)控件中加一行
10 回复于:2010-08-02 14:39:32
Edi t Box控件(拉的尽量大),选择Multi line, Aut oHScr oll,AutoV Scrol l 风格
插数据就O K
10 回复于:2010-08-02 14:42:44 回复于:
据要修改不?如果不修改,就可以。
如果要修改,就麻烦点,据要修改不?如果不修改,C listC trl 就可以。
如果要修改,C listC trl 就麻烦点,可以使
用C RichE dit。
。
可以满足你的要求。
可以满足你的要求。
现上,的对象。
现上,画一个 List Ctrl,然后给你的 Dial og 榜定一个 Cl istCt rl 的对象。
,
取文件,每读取一条记录,就可以了。
取文件,每读取一条记录,给 Cli stCtr l Ins ertIt em 就可以了。
10回复于:2010-08-02 14:46:35
主 wang jix 的回复:
了一篇求助帖,可能自己没有说清楚,让很多好心解答的大侠都无语了,这次要讲清楚了,请教各位~
做了一个对话框(包含一个按钮),还写好了一个 TXT文本(有300 行数据,各行均显示5个数字),我的想法是按下对话框按钮之后,开始读取文本数据,并且一行一行的显示在对
显示的一行不能覆盖前面显示的一行,要提行显示,并且在显示完之后,通过滚动条查看之前……
i le 类ReadS tring一行一行的读,伪代码
ilefile;
n(……,……);
s trLin e(_T(""));
strTe xt(_T(""));
e.Re adStr ing(s trLin e))
+= strL ine + _T("\r\n");
e();
emTe xt(ID C_EDI T1, s trTex t); // 编辑框勾上 Mu ltili ne,Au to HS croll/VScr oll 等熟悉 10回复于:2010-08-0214:48:46
以实现。
可以用 CEdi t 来显示从文件中读取的每行的数据,当然也可以选择
CLis tBox。
以 CEd it 为例,将 CE dit 控件设置为多行、自动向下滚动、只读等属
性,比如将C Edit控件定义为
点击按钮的时候,在消息响应函数里面,先打开需要读的文件 fi le,然后
strRo w,str;
("");
Cont inue=TRUE;
Conti nue)
n ue=fi le.Re adStr ing(s trRow); += "\r\n";
st rRow;
how.S etWin dowTe xt(st r);
中一行一行的读取数据,然后显示在CEdit控件中,最后别忘记关闭文件。
10 回复于:2010-08-02 16:54:54
建议用riche dit~我还是不太清楚,能详细解释一下吗?
======
求很简单,用E DIT 就行了,不用 rich edit了,你对显示的字符又什么太多的要求,用CStdi oFile一行行的读出来,每读出一行就加在一个CStri ng 中。
注意要
加“\r\n”换行。
Se tDlgI temTe xt 或是 SetW indow Text将读出来的东西写到EDIT中就行了。
5 回复于:2010-08-02 17:29:00
Ctrl控件就可以@
:5 回复于:2010-08-03 11:00:26
过,学习一下。
得分:0 回复于:2010-08-04 14:42:20
用6楼 to tti1006 的回复:
然可以实现。
可以用 CEd it 来显示从文件中读取的每行的数据,当然也可以选择CLi stBox。
以 CE dit 为例,将C Edit控件设置为多行、自动向下滚动、只读等属性,比如将CEdit控件定
o w。
当点击按钮的时候,在消息响应函数里面,先打开需要读的文件 file,然后 St ringstrRo w,str; = _T("");
OOLbCont inue=TRUE;……
谢各位大侠相助~
弟已经在edit中显示出来了,以上面大侠的方法,edit中一次就将所有数据都显示了~但是我想实时显示,读一行,显示一行,应该怎么办呢~
:5 回复于:2010-08-04 14:47:47
Ctrl中显示,用个定时器,隔几秒读一行,然后在 lis t 中显示,就会有一行一行显示的效果
:0回复于:2010-08-04 20:41:27
楼 muna nmu 的回复:
Ct rl 中显示……
Li stCtr l 显示出数据了,但是格式好像有问题,我希望显示数据的格式与文档中一样,如下所示:
3 04 05
445 56
4 0501
3 04 05
4 45 56
4 05 01 输出一行都要提行~
来的效果是这样:
01 02…… 01 02……
01 02…… 01 02……
01 02……
01 02……
01 02……
位,我代码哪里有问题~
钮显示数据:
M ynewp rojec tDlg::OnBt nShow data()
O: A dd yo ur co ntrol noti ficat ion h andle r cod e her e
rl * myli st= n ew CL istCt rl();
ect;
t em(ID C_LIS T_SHO WDATA)->Ge tWind owRec t(&re ct);
o Clien t(&re ct);
C reate(WS_C HILD|WS_VI SIBLE|WS_B ORDER|LVS_LIST,ect.l eft,r ect.t op,re ct.ri ght,r ect.b ottom),thi s,1);
ile m yfile("c:\\1.tx t",CF ile::modeR ead);
mystr;
myte xt="";
myco ntinu e=TRU E;
yco ntinu e)
nue=myfi le.Re adStr ing(m ystr);
"\r\n";
=m ystr;
Inser tItem(i,"");
Set ItemT ext(i,0,my text);
:5 回复于:2010-08-04 21:00:47
楼g uanyi jun123 的回复:
Ctrl控件就可以@
用类标控件比较好~
。