您的位置:首页 > 其它

MFC EditBox控件滚动条保持在底部的实现

2013-01-26 14:05 253 查看
前言:在MFC编程中,在使用进度条的同时,需要用EDITBox将处理信息显示给用户。有的时候,信息太多,在处理的过程中,滚动条却一直保持在最上面,但我们想在处理的过程中,看到最新的处理结果,这就需要将Editbox控件的滚动条保持在底部。怎么实现呢?

 

1.新建一个MFC工程(基于单文档、多文档或对话框)。

2.插入对话框用于显示进度。该对话框中放置一个Editbox用于显示信息,id号为IDD_EditInfomation。

   注意:Editbox的属性里面记得勾选Miltiline、Vertical Scroll和Auto VScroll。

3.将该控件与变量关联,用它的Control里面的CEdit类。同时按下ctrl+W,打开对话框,为IDD_EditInfomation关联一个CEdit类型变量,为m_EditInfomation。

4.在输出的时候:

先定义一个CString类型的变量strInfo,将要输出的内容存在该变量中;

然后定义一个int类型变量position用来存储该EditBox的位置,用m_EditInfomation.GetSel();来获取;

然后在输出前用SetSel()对m_EditInfomation进行定位,随后将信息输出在该位置上;

为了每次不把重复的内容输出,要先清空m_EditInformation.SetWindowText("");;

最后用m_EditInformation.ReplaceSelstrInfo(strInfo);来显示信息。

 

例:输出1-1000这1000个int数据

 CString strInfo="",str; 

 int positon=0; 

 for(int i=1;i<1001;i++)  

 {  

  str.Format("%d",i);  

  strInfo=strInfo+str+"\r\n";  

  positon=m_EditInformation.GetSel();  

  m_EditInformation.SetSel(positon);  

  m_EditInformation.SetWindowText("");  

  m_EditInformation.ReplaceSel(strInfo);

  UpdateData(false);  

 } 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  EditBox 保持底部