码迷,mamicode.com
首页 > Windows程序 > 详细

1-4-1 Windows应用程序组成及编程步骤

时间:2016-03-03 01:20:24      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:

 

  主要内容:介绍Windows应用程序的组成以及编程步骤

  

  1.应用程序的组成
    <1>一个完整的应用程序通常由五种类型的文件组成
      1.源程序文件
      2.头文件
      3.模块定义文件
      4.资源描述文件
      5.项目文件(也称工程文件Project)

    <2>源程序组成结构
      1.入口函数 WinMain
        <1>入口函数是所有程序的入口,类似Main函数
        <2>完成定义和初始化,产生消息循环

      2.窗口函数 WndProc
        <1>窗口过程完成一些消息循环的响应
          这是Windows应用程序的基本框架
          在这个框架里包含了各种数据类型、数据结构和相应的函数

  2.WinMain函数

    WinMain函数的功能
      <1>注册窗口类,建立窗口及执行必要的初始化
      <2>进入消息循环,据接收的消息调用相应的处理过程
      <3>当消息循环检索到WM_QUIT时,终止程序运行

    WinMain函数的基本组成
      <1>函数说明(函数参数)
        int WINAPI WinMain
        ( HINSTANCE hThisInst, //应用程序当前实例句柄
         HINSTANCE hPrebInst, //应用程序其他实例句柄
         LPSTR lpszCmdLine, //指向程序命令行参数的指针
         Int nCmdShow) //应用程序开始执行时窗口显示方式的整数值标识
      <2>初始化
        1.窗口类定义
          定义窗口的形式与功能
          LoadIcon、LoadCursor以及GetStockObject等
        2.窗口类的注册
          窗口类必须先注册后使用
          RegisterClass
        3.创建窗口实例
          CreateWindow
        4.显示窗口
          ShowWindow 和 UpdateWindow
      <3>消息循环

  3.窗口函数WinProc
    <1>窗口函数定义了应用程序对接收到的不同消息的响应
      还包含了对各种可能接收到的消息的处理过程

    <2>WinProc架构 ---> switch-case结构
      原型:
      LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
        switch(message){ //message为标识的消息
          case ...
          break;
          ...

          case WM_DESTROY:
            PostQuitMessage(0);

          default :
            //为未定义处理过程的消息提供缺省处理
            return DefWindowProc(hwnd, message, wParam, lParam);
          }

        return 0;
      }

      消息处理程序段中一般都有对WM_DESTROY的处理,
      该消息是关闭窗口时发出的,
      它向应用程序发出WM_QUIT消息,请求退出处理函数,
      void PostQuitMessage(int nExitCode);
      //nExitCode为应用程序的退出代码

    <3>数据类型介绍
      LRESULT:消息处理结果的返回值的数据类型,实际上是LONG
      CALLBACK:表示这个函数是给系统调用的,也称作回调

1-4-1 Windows应用程序组成及编程步骤

标签:

原文地址:http://www.cnblogs.com/tommychok/p/5237015.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!