• Mobile开发(三) 转载自[Hello dd ^_^]


            windows编程真是很难学,那些复杂的函数和参数,让我们习惯了高级编程之后感到很不适应。就连一个简单的Hello World都让我困惑了3、4天。下面是我对编写Hello World的一些总结。

    1、第一个拦路虎就是这个函数消息映射表struct decodeUINT { // Structure associates
    UINT Code;
    LRESULT (*Fxn)(HWND, UINT, WPARAM, LPARAM);
    };
    const struct decodeUINT MainMessages[] = {

        WM_PAINT, DoPaintMain,//定义的结构体,使得windows的消息和用户自定义的函数相关联
        WM_DESTROY,DoDestroyMain,
    };
    这个decodeUINT结构体的使用,使得消息和函数相对应。有了这个消息函数映射表,使得消息能够直接和处理函数很好的关联在一起。

    2、第二点是这个系统的入口函数

    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,LPWSTR lpCmdLine, int nCmdShow)
    在这个入口函数WinMain只进行三件事,1、初始化一个窗口。2、监听处理消息。(将消息分发到不同的窗口中进行处理)3、销毁实例。

    3、第三点是WinMain的参数
        WPARAM:32位(双字节)的消息参数。值的格式和意思取决于主要的事件消息类型。在不同的情况下,WPARAM变元可能传输一个坐标点对,使用低字值标识次要的消息类型,提供某些其他的数据类型,或被完全忽略。在很多情况下,WPARAM值将被看成两个独立的字值,分别具有不
    同的功能。

         LPARAM:32位(长整型)的消息参数。这个参数的值和意思取决于主事件消息类型。在不同的情况下,LPARAM变元可能提供一个字符串或记录结构的指针,分解为一组字、字节或标志值,或者往往完全没有用。系统的操作都是针对句柄的。由参数LPARAM可以得到此窗口的句柄。通过创建函数,能够得到创建对象的句柄。

    4、第四是消息中的回调函数的处理

         当窗口得到消息时会自动调用MainWinProc函数,每个窗口都会有一个MainWinProc函数,来处理有Windows分发来的自己的消息。

    5、第五是函数中的宏

    宏定义使得参数变得见名知意。例如我们定义两个变量

    int x,int y;我们并不知道他代表什么,

    但是如果我们先定义连个宏
                                       #define int height
                                       #define int weight

    再定义两个变量
                                       height x;
                                       weight y;

    这样我们就能够很清楚的知道这两个变量所代表的意义

    6、第六是系统中的常量

         开始时各种常量的定义:这样可以节省内存。不变的数据,像关联结构体、窗口句柄。这样程序可以在ROM中执行,而不是装载一个副本到RAM里,节约了宝贵的RAM资源。

    7、第七是对在WindowsCE平台下编程的理解

        由于WindosCE支持MFC类库的子集,在WindowsCE下的开发,很大一部分是在和MFC打交道,所以在这里就先讲讲我对MFC的理解。
        MFC 是一套程序使用的架构,它规定了各种函数和方法的使用和使用顺序。这套架构,使得我们的操作更底层(可以修改的东西更多),但是同时它的使用方法也是很复杂的。MFC编程中我们要想操作系统变量要想从系统中取得,然后再根据自己的需要定制修改。这很能体现MFC的框架作用==填空
        从宏观上看MFC是一个应用程序框架,再此基础上,通过填空的方式能够,创建Windows下的应用程序。预定义的接口把具体应用程序特有的东西填入这个轮廓。
    从微观上看MFC是对Win32的进一步封装,通过预定义宏和更高级的函数,实现了许多事件和消息的处理。

        说道这里,再澄清几个概念:我们的开发工具是.net、开发语言是C++、开发平台是Windows CE(当然对于手机开发,我们主要是应用Windows CE下的Windows Mobile这个平台)、开发框架是精简的MFC和Windows API


     

  • 相关阅读:
    dpkg install command
    Notes: GitHub, CA errors and old curl's
    幫倒忙的IE8 JSON.stringify()
    Connect High quality middleware for node.js
    MVC3, jQuery and JSON.stringify
    Scraping the Dynamic Web with PhantomJS: Using jQuery and Node: James Morrin: 9781449321864: Amazon.com: Books
    FAQ’S Ultimate Web Scraping
    How Yottaa Brings Site Speed,
    Node入门 » 一本全面的Node.js教程
    用Meteor框架快速搭建高质量互联网应用
  • 原文地址:https://www.cnblogs.com/cplusplus/p/1670072.html
Copyright © 2020-2023  润新知