CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

关于几种消息的区别?WM_QUIT WM_DESTROY WM_DRAW WM_PAINT

楼主xieqidong(广州)2005-06-04 19:25:36 在 VC/MFC / 基础类 提问

在此想问一下,WM_QUIT、WM_DESTROY有什么区别吗,在程序退出时哪一个先调用;WM_DRAW、WM_PAINT又有什么区别呢,在程序绘图时哪一个先调用呢? 问题点数:40、回复次数:4Top

1 楼krh2001(边城浪子)回复于 2005-06-04 19:41:39 得分 25

WM_QUIT       --->   退出消息循环,通常需要结束一视窗应用程序的时候将这个消息送到消息队列.   有一个专门的API:   PostQuitMessage(int   ExitCode);   GetMessage   取到这条消息的时候就会返回   FALSE,   于是消息循环结束:  
  MSG   msg;  
  Wwhile(GetMessage(&msg,   NULL,   0,0))  
  {  
        TranslateMessage(&msg);  
        DispatchMessage(&msg);  
  }  
   
   
  WM_DESTROY     -->   当一个窗口将消毁前,   这个消息发往窗口,   你可以在响应这个消息的时候做一些什么事.比如当主窗口消毁的时候发   WM_QUIT   消息来退出程序.  
   
   
  WM_PAINT     -->   当窗口需要重画的时候,   (窗口包含一些已经无效的区域.   这些区域可能是   因为调用   InvalidateRect   或者因为窗口被什么挡住又露出来等),当应用程序空闲的时候, WM_PAINT   消息被发往窗口. 你响应该函数,来恢复窗口的显示.,  
  Top

2 楼krh2001(边城浪子)回复于 2005-06-04 19:42:08 得分 0

P.S.   WM_DRAW     ---->   没这个消息Top

3 楼lhb25(缘来缘去)回复于 2005-06-04 19:52:20 得分 15

对》》》》WM_DRAW、WM_PAINT又有什么区别呢,在程序绘图时哪一个先调用呢?  
   
  前一个是使用逻辑坐标  
   
  后一个是使用设备坐标  
   
  前一个可以被后一个调用!  
   
  在使用时转换坐标就可以把这两个函数转换使用!!!!!!!  
  Top

4 楼xieqidong(广州)回复于 2005-06-04 20:00:49 得分 0

谢谢各位,其实第二个问题应该是OnDraw和OnPaint两个函数的区别,在此现丑了,马上给分结贴。Top

相关问题

  • Iczelion在教程3里(最后),WM_DESTROY WM_CLOSE WM_QUIT三个消息让我困惑。
  • WM_PAINT消息
  • 每次 case WM_PAINT:
  • WM_CLOSE和WM_QUIT有何区别?
  • 关于WM_PAINT消息
  • 关于WM_PAINT和InvalidateRect
  • 关于WM_PAINT的疑问
  • 关于WM_PAINT的疑问
  • WM_PAINT的奇怪现象
  • 如何发送WM_PAINT消息? GetParent()->SendMessage(WM_PAINT); ??????

关键词

  • 消息
  • 函数
  • 坐标
  • wm
  • 调用
  • paint
  • quit
  • destroy
  • draw
  • 程序

得分解答快速导航

  • 帖主:xieqidong
  • krh2001
  • lhb25

相关链接

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

广告也精彩

反馈

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