,技术理论   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,技术理论
您的位置:Yesky > 软件 > 开发者网络 > 正文
游戏开发新手入门之Windows编程
[文章信息]
作者:ant3000
时间:2005-05-17
出处:编程论坛
责任编辑:方舟
[文章导读]
本文目的是介绍Windows编程基础。在本文结束时,你应该能够很好的工作了,虽然可能是简单的WIindows程序
advertisement
热点推荐
· 图文详解:黑客入侵方式演示
· Java异常处理的陋习展播
· 多媒体系列教程:网页设计制作
· Powerpoint动画演示教程连载
· 光盘刻录手册:禁忌与技巧(下)
[正文]

上一页  1 2 3 4  下一页

  消息的处理

  我已经说过消息在窗口里的作用了,下面让我们来仔细学习一下它。处理消息的函数结构如下:

LRESULT CALLBACK MsgHandler( 【有时被命名为WndProc,随便你】
HWND hwnd, // window handle
UINT msg, // the message identifier
WPARAM wparam, // message parameters
LPARAM lparam // more message parameters
);

  这个LRESULT类型要求返回一个32位的整数。实际取值依赖于消息,但是这个值很少在应用程序代码中得到应用。以前我们谈到过一点CALLBACK协定,它的参数很简单:

  ※ HWND hwnd:是接收消息的窗口的句柄,也是由CreateWindowEx()函数返回的句柄。

  ※ UINT msg:这是一个消息标识符,都是以WM_打头的符号常量,意思是“Windows Message”。很多的,这里只介绍一些常用的:

  ◎ WM_ACTIVATE:一个新窗口被激活。
  ◎ WM_CLOSE:一个窗口被关闭。
  ◎ WM_COMMAND:一个菜单功能被选择。
  ◎ WM_CREATE:一个窗口被建立。
  ◎ WM_LBUTTONDBLCLK:鼠标左键被双击。
  ◎ WM_LBUTTONDOWN:鼠标左键被按下。
  ◎ WM_MOUSEMOVE:鼠标被移动。
  ◎ WM_MOVE:一个窗口被移动。
  ◎ WM_PAINT:窗口的一部分需要重画。
  ◎ WM_RBUTTONDBLCLK:鼠标的右键被双击。
  ◎ WM_RBUTTONDOWN:鼠标的右键被按下。
  ◎ WM_SIZE:窗口的大小被改变。
  ◎ WM_USER:干你想干的。

  ※ WPARAM wparam,LPARAM lparam:消息参数。它们提供有关消息的附加信息,这两个值对于每条消息来说都是特定的。

  你要把所有要发生的消息都写进程序代码的话,我想你可能已经累疯了。我想我会的。感谢上帝,Windows提供了默认消息处理,如果你没有任何特殊的消息需要处理了,你总是要用DefWindowPorc()函数的,下面给一个最简单的例子,没有任何特定的消息要处理的例子:

LRESULT CALLBACK MsgHandler(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
return(DefWindowProc(hwnd, msg, wparam, lparam));
}

  简单吧!但通常你都需要处理一些自己的消息,你要写自己的程序代码,然后返回0,来告诉程序你干完了。下面是一个例子,当窗口建立时,你调用了一个初始化的函数Initialize_Game(),然后返回0,最后告诉程序自己处理那些默认的消息吧:

LRESULT CALLBACK MsgHandler(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
if (msg == WM_CREATE)
{
Initialize_Game();
return(0);
}

return(DefWindowProc(hwnd, msg, wparam, lparam));
}

  你很可能需要一个“switch”结构来手动完成你想要控制的消息,然后把剩下的交给DefWindowProc()去做。大功告成前,我不得不提醒您一件事,就是怎样使你的消息控制得到响应呢?


上一页  1 2 3 4  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
,技术理论相关内容,技术理论焦点新闻
  • 游戏开发新手入门之位图化图形
  • 游戏开发新手入门之Win32程序资源
  • 初学者的福音:游戏开发新手入门指南
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,技术理论Advertisement