Windows CE应用程序设计(张勇)ZXM20120520 第4章.ppt

Windows CE应用程序设计(张勇)ZXM20120520 第4章.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
      4.1 控 件   这里,回顾一下CreateWindow过程,该过程的调用将导致WM_CREATE消息的产生,其原型如下:   第一章中已经详细地介绍了该过程。这里补充一点的是如果lpClassName取Windows CE系统预定义的控件(类名)时,这里的预定义是指不需要对这些控件进行注册窗口类的操作了。对应着每个控件都有其独特的样式dwStyle,同时它们也支持普通窗口的样式。使用CreateWindow创建控件时,hMenu必须输入相应控件的ID号。点击这些控件时一般都将导致WM_COMMAND消息的产生,并通过该消息的LOWORD(wParam)返回控件的ID号。下面对预定义的控件及其样式逐一阐述。   由上述内容可知,如果创建如图4-2所示的“计算”按钮控件,则可以用以下语句实现: CreateWindow(TEXT(“BUTTON”), ??TEXT(“计算”), ??BS_PUSHBUTTON | BS_NOTIFY | WS_VISIBLE | WS_CHILD, 125,130,70,25,hWnd,(HMENU) IDC_PUSHBTN,hInst,NULL); 即在逻辑坐标(相对于控件所在窗口的左上角的坐标)点(125,130)处,画一个宽70、高25的下压按钮控件,控件上显示标题文本为“计算”。    4.2 计算三角函数实例程序   计算三角函数的实例程序开发环境和运行结果如图4-1至图4-4所示。 图4-1 工作环境 图4-2 求正弦值运行结果 图4-3 求余弦值运行结果 图4-4 求正切值运行结果 4.2.1 头文件myTrigonometry.h 4.2.2 主程序入口文件myTrigonometry.cpp 4.2.3 主窗口过程文件mainWndProc.cpp 4.2.4 子窗口过程文件sinChildWndProc.cpp     4.3 三角函数程序解释   如前所述,求解三角函数实例包括四个文件:头文件myTrigonometry.h、主程序文件myTrigonometry.cpp、主窗口过程文件mainWndProc.cpp、子窗口过程文件sinChildWndProc.cpp。下面对比着第一章的框架程序和第二章的程序依次讲述本实例的四个程序文件,首先是头文件的介绍。   头文件除了包括windows.h和commctrl.h之外,还增加了数学函数库头文件math.h和智能手机SDK头文件aygshell.h,这两个头文件是智能手机Pocket PC上专用的头文件。这两个头文件位于如图4-5所示的文件夹中。 图4-5 Pocket PC头文件夹   打开math.h头文件后,可以看到如下的代码,并且只有这么多代码:   #ifndef _MATH_H_   #define _MATH_H_   #include “stdlib.h”   #endif // _MATH_H_   从上面的代码可以看出,Windows CE中math.h头文件实际上是stdlib.h头文件。我们展示给大家看这段代码的目的,是想让读者明白,去查看这些头文件是很重要的。例中,本实例中用到了字符串转换为double型双精度数的方法,这种方法可以从stdlib.h头文件中找到。由于该头文件代码较长,这里仅列出与字符串转换为double型双精度数相关的函数代码,即   _CRTIMP double _ _cdecl wcstod(const wchar_t *, wchar_t **);   见图4-6。该函数的具体用法可以从帮助中查找,帮助中一般会结合部分应用代码给出详细的说明。 图4-6 stdlib.h头文件部分内容   头文件myTrigonometry.h的内容就是对自定义类型的声明、对过程(或称函数)的原型声明以及子窗口和命令栏的ID号宏定义。需要补充说明的部分如下:   上述代码段中的CONTROLSTRUCT自定义结构类型的各个字段的含义为控件的标题、控件的ID号、控件所属的控件类、控件的显示样式以及控件的左上角位置及其宽度和高度。其中,控件所属的控件类szClass是Windows CE预定义的,例如,取BUTTON、EDIT、STATIC等,不能取系统没有定义的类名,控件的ID号是在上述代码中宏定义的,要求各整型值是互不相同的。上述代码中,还宏定义了PI的值。  主程序文件myTrigonometry.cpp增加了下面一段代码:   上面的代码表示,如果被编译连接成在智能手机中运行的程序,希望该软件只能有一个实例在运行,这时,使用FindWindow过程在内存中查找主窗口,如果主窗口存在,说明该程序已经在运行了,不需要再

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档