CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

给文本框重新赋值后,怎么样使它立即更新?

楼主blue2moon(蓝狐)2006-03-03 13:45:31 在 VC/MFC / 基础类 提问

我的程序中,执行一个动作后,就要显示执行的结果,可是现在的程序却不能随时更新,只是在所有动作都完成后,才一次更新了文本框,程序如下:  
  if(   !comTransfer.CommOpen()   )  
  {  
          m_strReceive.Append(   "Open   com   port   failed.\r\n"   );  
          UpdateData(   FALSE   );//注:此处不起作用  
          return;  
  }  
   
  GetDlgItem(IDC_BTConnect)->SetWindowText("DisConnect");  
  m_strReceive.Append(   "Open   com   port   successfully!\r\n"   );  
  UpdateData(   FALSE   );  
   
  //此时并没有显示第一步的消息  
   
  if(   !comTransfer.BitRateAdjustment()   )  
  {  
  m_strReceive.Append(   "Bit   rate   adjustment   failed.\r\n"   );  
  UpdateData(   FALSE   );  
  return;  
  }  
  m_strReceive.Append(   "Bit   rate   adjustment   successfully!\r\n"   );  
  UpdateData(   FALSE   );  
  问题点数:50、回复次数:11Top

1 楼blue2moon(蓝狐)回复于 2006-03-03 13:47:23 得分 0

忘了加一句,m_strReceive已经和文本框建立关联:  
  void   CSHFlashTransferDlg::DoDataExchange(CDataExchange*   pDX)  
  {  
  CDialog::DoDataExchange(pDX);  
  DDX_Text(pDX,   IDC_EDITReceive,   m_strReceive);  
  }Top

2 楼Bill4661(迷途)回复于 2006-03-03 14:43:59 得分 0

多线程试试Top

3 楼blue2moon(蓝狐)回复于 2006-03-03 14:49:56 得分 0

不会吧,这个问题需要多线程来解决?Top

4 楼smallquick(小生)回复于 2006-03-03 15:09:40 得分 0

在m_strReceive.Append(   "Open   com   port   failed.\r\n"   );  
  前加一句updateData(true)Top

5 楼blue2moon(蓝狐)回复于 2006-03-03 16:30:54 得分 0

smallquick(小快):  
  呵呵,这是你想的吧,可惜不行啊Top

6 楼Snow_Ice11111(雪上加冰)回复于 2006-03-03 20:48:13 得分 0

是不是它已经更新了内容,只是后面的更新内容马上又来了,如此你只看到了最后一次更新的东西。Top

7 楼blue2moon(蓝狐)回复于 2006-03-06 09:04:24 得分 0

To:   Snow_Ice11111(雪上加冰)  
   
  应该不是吧,我是以追加方式向文本框写字符串的:  
  m_strReceive.Append(   "Open   com   port   failed.\r\n"   );  
   
  我想,每次追加内容之后,调用Updatedata(FALSE),应该可以更新文本框显示的,为什么不行呢?Top

8 楼aat_ydt()回复于 2006-03-06 10:07:03 得分 0

updatadata(True);Top

9 楼dnliophsam()回复于 2006-03-06 10:30:22 得分 0

aat_ydt()   UpdateData(TRUE)是从文本框读取  
   
  楼主你的文本框有没有支持多行文本的?把m_strReceive.Append(   "Open   com   port   failed.\r\n"   );中的\r\n去调再试一下?  
  Top

10 楼Mackz(在相互)回复于 2006-03-06 11:51:36 得分 0

消息阻塞。你的这个函数得不到执行的机会。Top

11 楼blue2moon(蓝狐)回复于 2006-03-06 13:24:01 得分 0

To:   Mackz(在相互)  
   
  您的回答真是一针见血,谢谢。  
   
  可是,能否给出更详细的解释。  
  或者给出参考,遇到此类问题该怎么解决。Top

相关问题

  • 文本框自动赋值?
  • 文本框赋值问题???
  • 文本框赋值后不更新的问题谁知道为什么啊?
  • 如何赋值给Edit文本框
  • 文本框的赋值问题
  • 怎么样在文本框里显示时间,要求是时时更新的。如20:20:20是走动的
  • 请问怎样给一个多行的文本框赋值?
  • 关于给文本框赋值的问题
  • VBA中给文本框赋值大于255字节的问题
  • javascript动态添加文本框、赋值和查询的问题???

关键词

  • 执行
  • 内容
  • strreceive
  • 文本框
  • 更新
  • updatedata
  • pdx
  • append
  • port failed
  • 程序

得分解答快速导航

  • 帖主:blue2moon

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo