CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  ATL/ActiveX/COM

为什么会这样??在子窗口里面scribble,可结果却在父窗口现实???

楼主renxh()2004-11-03 22:34:29 在 VC/MFC / ATL/ActiveX/COM 提问

同题 问题点数:100、回复次数:3Top

1 楼GameWeaverDummy(小白菜)回复于 2004-11-04 00:22:01 得分 60

顶Top

2 楼renxh()回复于 2004-11-04 12:22:44 得分 0

高手看看如下的代码有什么问题吗?为什么出现这种怪问题。  
  我对windows编程不熟悉,谢谢各位了  
   
   
   
      switch   (msg)  
      {  
  case   WM_CREATE:  
      break;  
   
  case   WM_ACTIVATE:  
       
      if   (WA_CLICKACTIVE   ==   LOWORD(wParam))  
  m_pGuiPaper->PaintWin();  
       
      lResult   =   ::DefWindowProc(hwnd,   msg,   wParam,   lParam);  
      break;  
   
  case   WM_MEASUREITEM:  
      //   Get   setup   for   painting   text   in   this   window.   For   later   evolution.  
      {  
   
      }  
   
  case   WM_SIZE:  
      //   Handle   a   resize   of   this   window.  
      width   =   LOWORD(lParam);  
      height   =   HIWORD(lParam);  
      //   Inform   CGuiPaper   of   the   change.  
      m_pGuiPaper->Resize(width,   height);  
      break;  
   
  case   WM_PAINT:  
      //   If   something   major   happened   repaint   the   whole   window.  
      {  
  PAINTSTRUCT   ps;  
   
  if(BeginPaint(hwnd,   &ps))  
  {  
      m_pGuiPaper->PaintWin();  
      EndPaint(hwnd,   &ps);  
  }  
      }  
      break;  
   
  case   WM_LBUTTONDOWN:  
      //   Start   sequence   of   ink   drawing   to   the   paper.  
      m_pGuiPaper->InkStart(LOWORD(lParam),   HIWORD(lParam));  
      break;  
   
  case   WM_MOUSEMOVE:  
      //   Draw   inking   sequence   data.  
      m_pGuiPaper->InkDraw(LOWORD(lParam),   HIWORD(lParam));  
      break;  
   
  case   WM_LBUTTONUP:  
      //   Stop   an   ink   drawing   sequence.  
      m_pGuiPaper->InkStop(LOWORD(lParam),   HIWORD(lParam));  
      break;  
   
  case   WM_COMMAND:  
      //   Dispatch   and   handle   any   Menu   command   messages   received.  
      //lResult   =   DoMenu(wParam,   lParam);  
      break;  
   
  case   WM_CHAR:  
      if   (wParam   ==   0x1b)  
      {  
  //   Exit   this   app   if   user   hits   ESC   key.  
  ::PostMessage(hwnd,   WM_CLOSE,   0,   0);  
      }  
      break;  
   
  case   WM_CLOSE:  
      //   The   user   selected   Close   on   the   main   window's   System   menu  
      //   or   Exit   on   the   File   menu.  
      //   If   there   is   ink   data   that   has   not   been   saved   then   ask   user  
      //   if   it   should   be   saved.   If   user   cancels   then   cancel   the   exit.  
      //if   (IDCANCEL   ==   m_pGuiPaper->AskSave())  
  //break;  
  case   WM_QUIT:  
      //   If   the   app   is   being   quit   then   close   any   associated   help   windows.  
  default:  
      //   Defer   all   messages   NOT   handled   above   to   the   Default   Window   Proc.  
      lResult   =   ::DefWindowProc(hwnd,   msg,   wParam,   lParam);  
      break;  
      }  
   
      return(lResult);  
      //return   ::DefWindowProc(hwnd,   msg,   wParam,   lParam);Top

3 楼aspnetwuxueyou(SHIP IT)回复于 2004-11-04 13:27:28 得分 40

什么问题?Top

相关问题

  • 问:怎样在框架的左侧实现查询条件,在右侧实现实现查询结果显示!在线等……
  • 我父亲的化验结果出来了,我不敢相信!!!
  • 现实的无奈!
  • 虚拟现实的问题
  • Uo现实中毒症
  • 请:flowerofwind(现实很残酷) 
  • sqlite如果现实autoincrement
  • 现实惨淡淡,散分
  • 这题结果
  • excel求结果

关键词

  • ps
  • pguipaper
  • loword
  • lparam
  • hiword
  • case wm
  • break
  • hwnd

得分解答快速导航

  • 帖主:renxh
  • GameWeaverDummy
  • aspnetwuxueyou

相关链接

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

广告也精彩

反馈

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