2008年8月21日星期四

C++中最简单的WINDOWS程序的组成

---摘自C/C++程序员实用大全-Kris Jamsa,Lars Klander 1273

学习任何一样事物,总要从最简单的开始,但最简单也是有规范的...

设计Windows程序时,必须保证Windows程序包括下面的所有构件:
  • 资源文件:虽然可以编写不使用资源文件的Windows程序,但这样的程序会引起附加的工作,同时也不是标准的Windows程序结构,每个Windows程序都应该包括资源文件.然而不必为每个程序创建多于一个的资源文件,记住资源文件可能包含许多程序的信息以及给定程序的内容,所以应该把每个程序的所有信息放到一个文件中.
  • windows.h头文件:所有的Windows程序都必须包含windows.h头文件,该文件依次包含所有必需的头文件,这些头文件包含Windows特定的类型、函数、以及类。
  • WinMain函数:和所有的DOS程序需要main函数一样,所有的Windows程序必须包含WinMain函数,记住必须为WinMain函数指定其需要的四个参数:HINSTANCE hInstance、HINSTANCE hPrevInstance、LPSTR lpCmdLine、以及int nCmdShow。
  • Windows消息循环:每个需要用户交互(几乎所有的Windows程序)的Windows程序在消息循环中处理消息,消息循环从系统消息队列中检索消息并在程序中处理这些消息。
  • 消息回调函数:创建窗口时,窗口的一个参数指定把消息传到哪里,即消息回调函数,消息循环也把消息发送给回调函数,每个Windows应用程序必须有一个消息回调函数,通常消息回调函数的名子都一致,如WinMain所做的那样,当然这不是必需的的同样也可能有多个消息回调函数,它们分别处理不同程序窗口的消息。

几乎所有的Windows程序都有这五个部分,如果设计的程序不含有这些所有的五个部分,则可能很难使程序在Windows里正确工作。


0 评论: