| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2705 人关注过本帖
标题:怎样在VC列表框中更新输出结果
只看楼主 加入收藏
ABlues
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-3-28
收藏
 问题点数:0 回复次数:4 
怎样在VC列表框中更新输出结果
用m_result.UpdateData(FALSE);
   m_result.UpdateWindow();怎么不能,到底用什么?代码如下:
void CC3Dlg::OnDisplay()
{
    // TODO: Add your control notification handler code here
    //do{MessageBox("不在服务范围内,请重新输入!");
    UpdateData(FALSE);
   UpdateWindow();//这句不能少,否则不会立即生效
 
        //}while(!check1(m_begin));
int v1=check2(m_begin);
    //CString str2;
//GetDlgItemText(m_end,m_end);
//do{MessageBox("不在服务范围内,请重新输入!");
    UpdateData(FALSE);
  UpdateWindow();
//}while(!check1(m_end));
int v2=check2(m_end);
this->m_result.ResetContent();
    //cin>>select;
    switch(m_nkind)
    {
case 0:{
        
   
    //cout<<"test city xiabiao:"<<v1<<endl;
    //得出begin end在g[]中的下标
    //cout<<"test city xiabiao:"<<v2<<endl;
  if(v2>=v1)  
    {int count=v2-v1+1;
  //cout<<"the return value:"<<GetWeight(v1, v1+2, select)<<endl;
    double *dist=new double[count];
    int *path=new int[count];
   pshortpath(v1,v2,m_nkind,dist,path);
    this->m_result.AddString("两城市的最短行程距离为:");
    this->m_result.SetCurSel(0);
    this->m_result.AddString((CString)dist[count-1]);
    this->m_result.SetCurSel(0);
   
    this->m_result.AddString("千米");
   
 this->m_result.AddString("两城市的最短行程路线为:");
 
    CString temp;
    CString Rcity[MaxV];
     int t=v2;int v=0;
    for(int k=0;k<count;k++)
    {   if(t==v1)break;
        else {
         temp=GetValue(path[t]);
          Rcity[v]=temp;
          v++;
         t=check2(temp);
       }
    }
//cout<<begin<<":";
    int c=v-1;
    for(int k1=0;k1<=c;k1++)
    {    this->m_result.AddString(Rcity[v-1]);
      
        v--;
    }
    m_result.AddString(m_end);
    m_result.UpdateData(FALSE);
   m_result.UpdateWindow();
    /*
    while(v0<count)
    {
        for(int v=count-1;v>=0;v--)
          if((path[v]!=-1)&&(GetValue(path[v])==temp))//通过每次搜索出当前节点的下一结点
          {   
              cout<<Rcity<<":";
              Rcity=GetValue(v+v1);//逐个变化的应该可以实现,事实上是下标差作怪?
          }                       
          v0++;//count必需写在括号外,才能使循环结束
    }
     cout<<Rcity<<"."<<endl<<endl;//将最末的输出ok?
   
    */         
    }
else{
    int count=v1-v2+1;
    double *dist=new double[count];
    int *path=new int[count];

    pshortpath1(v1,v2,m_nkind,dist,path);
    m_result.AddString("两城市的最短行程距离为:");
    m_result.AddString((CString)dist[count-1]);
    m_result.AddString("千米");
    m_result.AddString("两城市的最短行程路线为:");
    CString temp;
    CString Rcity[MaxV];
     int t=v2;int v=0;
    for(int k=0;k<count;k++)
    {   if(t==v1)break;
        else {
         temp=GetValue(path[t]);
          Rcity[v]=temp;
          v++;
         t=check2(temp);
       }
    }
    int c=v-1;
    for(int k1=0;k1<=c;k1++)
    {    m_result.AddString(Rcity[v-1]);
       v--;
    }
    m_result.AddString(m_end);
            }
           }
        break;
搜索更多相关主题的帖子: 列表 结果 输出 
2010-05-30 19:30
lpf12034
Rank: 2
等 级:论坛游民
帖 子:15
专家分:52
注 册:2009-7-13
收藏
得分:0 
updateData(false) 和updateDate(true)
2010-06-06 20:22
myvc
Rank: 2
等 级:论坛游民
威 望:1
帖 子:85
专家分:89
注 册:2009-10-25
收藏
得分:0 
先用 UpdateDate(true) 再用UpdateData(false)
2010-06-09 22:31
ABlues
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-3-28
收藏
得分:0 
呵呵,将OnDisplay中的UpdateData(FALSE)改为UpdateData(TRUE)就OK了,很久没进来了    ~
2010-06-26 10:08
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
路过,错过。

南国利剑
2010-06-26 17:37
快速回复:怎样在VC列表框中更新输出结果
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018000 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved