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

xieqidong 2005-06-04 07:25:36
在此想问一下,WM_QUIT、WM_DESTROY有什么区别吗,在程序退出时哪一个先调用;WM_DRAW、WM_PAINT又有什么区别呢,在程序绘图时哪一个先调用呢?
...全文
259 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xieqidong 2005-06-04
  • 打赏
  • 举报
回复
谢谢各位,其实第二个问题应该是OnDraw和OnPaint两个函数的区别,在此现丑了,马上给分结贴。
溪水细流 2005-06-04
  • 打赏
  • 举报
回复
对》》》》WM_DRAW、WM_PAINT又有什么区别呢,在程序绘图时哪一个先调用呢?

前一个是使用逻辑坐标

后一个是使用设备坐标

前一个可以被后一个调用!

在使用时转换坐标就可以把这两个函数转换使用!!!!!!!
jerry 2005-06-04
  • 打赏
  • 举报
回复
P.S. WM_DRAW ----> 没这个消息
jerry 2005-06-04
  • 打赏
  • 举报
回复
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 消息被发往窗口. 你响应该函数,来恢复窗口的显示.,

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧