CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

UpdateAllViews

楼主microdisk(小城故事)2001-11-19 12:37:12 在 VC/MFC / 基础类 提问

void   UpdateAllViews(   CView*   pSender,   LPARAM   lHint   =   0L,   CObject*   pHint   =   NULL   );  
  的第二个参数是什么意思?可以传入哪些值,各代表什么?  
  我查MSDN都没找到。 问题点数:20、回复次数:2Top

1 楼seesi(不是我想骗你,是我不知道怎么才能不骗!)回复于 2001-11-19 12:49:36 得分 0

You   can   encode   information   using   lHint   and/or   you   can   define   a   CObject-derived   class   to   store   information   about   the   modifications   and   pass   an   object   of   that   class   using   pHint.  
  附加参数Top

2 楼hncdsun(魔)回复于 2001-11-19 13:57:20 得分 20

在MFC中定义如下:  
  void   CDocument::UpdateAllViews(CView*   pSender,   LPARAM   lHint,   CObject*   pHint)  
  //   walk   through   all   views  
  {  
  ASSERT(pSender   ==   NULL   ||   !m_viewList.IsEmpty());  
  //   must   have   views   if   sent   by   one   of   them  
   
  POSITION   pos   =   GetFirstViewPosition();  
  while   (pos   !=   NULL)  
  {  
  CView*   pView   =   GetNextView(pos);  
  ASSERT_VALID(pView);  
  if   (pView   !=   pSender)  
  pView->OnUpdate(pSender,   lHint,   pHint);  
  }  
  }  
  void   CView::OnUpdate(CView*   pSender,   LPARAM   /*lHint*/,   CObject*   /*pHint*/)  
  {  
  ASSERT(pSender   !=   this);  
  UNUSED(pSender);           //   unused   in   release   builds  
   
  //   invalidate   the   entire   pane,   erase   background   too  
  Invalidate(TRUE);  
  }  
  ///////////////////////////////////////////  
  在自己的VIEW中,规定只重画的区域:由pHint  
  void   CMyView::OnUpdate(CView*   pSender,   LPARAM   lHint,   CObject*   pHint)    
  {  
  //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class  
  if(pHint!=NULL)  
  {  
   
  CRect   rect=//pHint;//这里自己去转换  
   
  this->InvalidateRect(&rect);  
  return;  
  }  
  Invalidate(TRUE);  
  return;  
  }Top

相关问题

  • UpdateAllViews()的问题?
  • 各位关于UpdateAllViews()
  • 一个UpdateAllViews()的问题
  • 二级线程调用pDoc->UpdateAllViews(NULL)?
  • 谁能详细讲一下UpdateAllViews()的用法。
  • 为什么我用UpdateAllViews(NULL)不能更新所有的视图?
  • 询问:UpdateAllViews(CView *pSender,LPARAM lHint,CObject *pHint)中如何确定参数lHint?
  • 为什么UpdateAllViews会出现ASSERT宏错误呢?在线等,谢谢~~~~~~~~
  • CDocument::UpdateAllViews中,我只能跟踪到 invalidate,不知是在什么地方发送消息 WM_PAINT 从而重画窗口?

关键词

  • null
  • psender
  • updateallviews
  • lhint
  • phint
  • cview
  • pview
  • onupdate
  • cobject
  • lparam

得分解答快速导航

  • 帖主:microdisk
  • hncdsun

相关链接

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

广告也精彩

反馈

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