对Windows程序的事件驱动特性的了解

什么是事件驱动?
程序不断等待(利用一个while循环),等待任何可能的输入,然后做判断,然后再做适当的处理,上述的“输入”是由操作系统捕捉到之后,以消息形式进入程序之中。如下:
MSG msg;

While(GetMessage(&msg, NULL, NULL,NULL))

{

}

什么是消息?

消息,就是上面的MSG结构,是Windows内设的一种数据格式。接受并处理消息的主角就是窗口。每个窗口都应该有一个函数负责处理消息,程序员必须负责设计这个所谓的“窗口函数”。

消息的取得、分派、处理?

WinMain(hInst, hPrev,…)

{

         MSGmsg;

         RegisterClass(…);

         CreateWinow(…);

         ShowWindow(…);

         UpdateWindow(…);

         While(GetMessage(&msg…))

         {

                   TranslateMessage(…);

                   DispatchMessage(…);

}

}

Return msg.wParam;

 

WndProc(hwnd, msg, wParam, lParam)

{

Switch(msg)

{

                  case:…;

                  case:…;

}

}

在程序执行过程中,不断以GetMessage从消息队列中抓取消息。DispatchMessage通过Windows USER模块的协助与监督,把消息分派至窗口函数,消息将在该处被判别并处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值