用C++开发WM应用系列文章索引

引言:

  在上一节中,我们通过了一个MFC智能设备程序项目,带大家一起走进了Native c++开发WM的大门,我们了解了如何为程序添加控件、事件,以及自定义自己的类、方法。以及如何让程序来处理这些事件。当然,今天在这里也不忘推荐大家去阅读“这本书”,今天呢,接上一节所说,我们来做一个和WM有关的小程序,就是打电话,我们要让程序在点击一个按钮后,拨出一个号码,很简单,但是也基本上很有代表性!

  不过既然要让程序打电话,除非你可以有真实设备测试,否则请你安装一个WM6 sdk吧,它有个蜂窝模拟器,很不错。

  下载地址详细请参看黎波老师的文章:http://www.cnblogs.com/upto/archive/2007/03/13/mobile-development-tools.html

  使用方法详细请参看peterzb前辈的文章:http://www.cnblogs.com/peterzb/archive/2009/06/13/1502771.html

  用模拟器打电话请参看黎波老师的这篇文章:http://www.cnblogs.com/upto/archive/2007/02/14/cellular-emulater-in-wm6sdk.html

  Ok,工欲善其事,必先利其器。准备好了前期工作,我们就可以开始今天的探索啦!

正文:

  受水平所限,我们这次依然创建一个基于MFC模板的智能设备应用程序把,项目名称叫做“MakeCall”,老样子,vs还是给我们生成了一些源文件、头文件等,打开“资源视图”窗口,依然可以看到我们的对话框。相信大家之前已经通过各种方式,了解到了这些东东的含义,我在此就不赘述鸟。我们还是打开对话框资源,拖动一个button到窗体上,更改它的Caption属性为:Make it(为什么不用DO it呢?这个就关系到e文的背景了,很不和谐的意思~在此略过~)。把原来那条TODO:xxxxx的Caption属性改为:We Will Make A Call,当然内容随便你哦。

  这里,既然上面说是:点击一个按钮后,拨出一个号码。我们自然的为button1或者说Make it按钮添加“事件处理程序”,具体方法:右键点击按钮,选择“添加时间处理程序”,配置一般默认即可!

  Ok!方法体已经有了,剩下来的就是添加那个“打电话”的方法啦,不知有人还记得吗?.Net CF下拨打电话太简单了,引用Microsoft.WindowsMobile.Telephony命名空间,然后使用其下的Phone类中的Talk方法,即可拨打电话。现在我们在C++环境下,是不是这样呢?肯定不是,不过也差不多,我们也要去引用一个所谓的“命名空间”,但大家喜欢在这里(MFC)叫他“库文件”。当我们刚想去引用的时候,发现原来的方法不得行了,右键菜单里面没有“引用——》添加引用”了哦~,只有一个“引用...”。没关系,换汤不换药嘛,大胆的点开它~

  天哪~完全不知所措?不怕,看图说话,我们按图中的序号选择,到第四步时,输入"phone.lib"即可。

  

  哎,你可能问我:“你怎么知道写phone.lib,为什么不是iPhone.lib呢?”,其实,通过查阅WM6 SDK自带的文档,我们基本上能查阅到所有主要功能代码以及它所属的lib,具体还请各位私下查阅吧。填好后,我们确定即可。

  到这里,基本上了~接下来,我们为MakeCallDlg.cpp中的OnBnClickedButton1添加拨号代码如下:我们的PHONEMAKECALLINFO结构体,以及PhoneMakeCall方法均可在MSDN中查到。

void CMakeCallDlg::OnBnClickedButton1(){PHONEMAKECALLINFO callinfo;callinfo.cbSize = sizeof(callinfo);callinfo.dwFlags= PMCF_PROMPTBEFORECALLING;//PMCF_DEFAULTcallinfo.pszDestAddress = L"13411897756";PhoneMakeCall(&callinfo); } 

  Ok,最后,请记得,在MakeCallDlg.cpp顶部#include"phone.h"哦!接下来应该是顺利编译通过。然后就可以看到模拟器中,有一个打给13411897756的电话正在通话中了!

总结:

我们学会了:

  1. 为程序完成特定功能添加引用
  2. 拨打电话方法的使用
  3. 修改控件的基本属性

问题:

我们也看到:

  1. 拨号很死板,应该要灵活设置号码
  2. ... ...

后记:

在接下来的一节中,我们将来改进一下这个程序,让他的拨号支持我们的输入,以及添加一个发送短信的功能在里面,届时我们又可以多学几个控件以及方法的使用。

转载于:https://www.cnblogs.com/longqi293/archive/2010/02/04/1663606.html

『原创』用C++开发WM应用系列(2)——拨打电话相关推荐

  1. 『原创』用C++开发WM应用系列(6)——深化ListBox控件

    用C++开发WM应用系列文章索引 引言: 在上一篇博文中,我们简单的学习了ListBox控件的项添加.项的全部清除.接上一篇的尾巴,我们将在这篇博文中,介绍一些ListBox的小技巧吧,比如,获取选中 ...

  2. 微软云盘配合服务器,『原创』开源5T微软云盘搭建教程onedrive index

    前言 为什么搭建一个微软共享云盘?百度云.蓝奏云不好吗?百度云有会员限制功能,各种限制更是不少,蓝奏云速度超快,但是貌似不支持大文件.微软毕竟是大厂,可用的5T教育邮箱现在也很好搞到,之所以采用是因为 ...

  3. 『原创』WM利用Google Weather API获取天气预报

    最近,项目忙得很,公司里杂事很多都跑到我这里,搞得我也不能专心的做项目,索性,今天抽空,玩了一玩谷歌的天气预报服务.相信通过这篇文章,能让大家了解在.net CF下如何发起一个http访问请求(Web ...

  4. 『原创』让.Net CF实现智能提示(AutoComplete)功能

    前言 最近,一直在做Winform方面的开发,有一个公交信息查询的场景,用户在起始站输入框输入部分站点名称,系统能够自动给他建议和提示,类似Google中的自动补全.智能提示之类的功能,在Winfor ...

  5. 『原创』+『参考』基于PPC的图像对比程序——使用直方图度量

    前言的前言: 最近小弟闲来无聊,就想到了在PPC上面来做个图像对比的小东东,查找各方资料,终于在今天初步完成了这个程序,现在整理之后和各位共勉.程序中还存在很多不足之处,大家尽管提出自己的意见和建议, ...

  6. 『设计模式』Web程序开发最基本的编程模式--MVC编程模式

    23种设计模式+额外常用设计模式汇总 (持续更新) 什么是MVC编程模式 ? MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controlle ...

  7. 『原创』一个基于Win CE 5.0的Txt文件阅读器

    最近,拿到一台亲戚送的GPS导航仪,其系统是基于WinCE5.0的,所以我觉得可以写点小程序上去,上网一搜,还附带破解方法,把GPS破解后就变成一台屏幕超大的PDA了,于是我想用它看电子书,无奈,Wi ...

  8. 『原创』.Net CF下ListView的数据绑定

    首先,需要说明的是,在网络上已经有很多关于ListView数据绑定的文章了,但是,大部分是针对Winform的,那么对于很多新手来说可能对从Winform移植代码到.net cf平台会感觉很难,因为很 ...

  9. 『原创』再谈用 php 实现域名 whois 信息查询

    之前为了做 <plog.cn 1-6位 超期待删 短域名 筛查工具>,特地在 plog.cn 服务器上部署了一个 whois 查询小工具.PS:使用方法 http://plog.cn/wh ...

最新文章

  1. 设计模式:单例模式之懒汉式
  2. (chap6 Http首部) 响应首部字段 LocationProxy-AuthenticateRetry-After
  3. MySQL 修复root权限
  4. 使用docker构建并测试一个基于Sinatra的Web应用程序
  5. 基准软件测试原理,基准测试
  6. python服务器运维书_python自动化运维书
  7. vbs整人代码蓝屏_vbs恶作剧(整人代码)-英文报数 蓝屏 重启电脑等
  8. 通过split命令分割大文件
  9. Markdown从入门到精通(+软件推荐)
  10. 远程springmvc ajax请求乱码,网络编程springMVC解决ajax请求乱码的三种方法
  11. 【转】刀锋一样的眼神
  12. Linux网络连接命令
  13. Vue antdv a-select 内容搜索过滤(filterOption)
  14. e3 v3服务器芯片组,最保值的E3-1230 v3遇上锐龙5:结果惊讶!
  15. 重走Android路 之 挑几个基本控件玩玩(上卷)
  16. 互联网结合产业,并不是为了继续建筑互联网与实体产业之间的高墙
  17. 图片识别商品接口 API:天猫淘宝
  18. 论文阅读:Deep convolutional neural networks for pan-specific peptide-MHC class I binding prediction
  19. flarum回到顶部
  20. 机器学习在交通标志检测与精细分类中的应用

热门文章

  1. 水准测量的各种数字考点
  2. java转码及页面乱码原因分析
  3. C# 计算字符串里的汉字多少个.数字多少个.英文多少个.符号和空格多少个
  4. IP,域名,DNS,端口
  5. 第三届“网鼎杯”官方资格赛圆满结束,问鼎之战即将开启!
  6. 超硬核!华为智慧屏上的家庭相册竟可以自动精准分类?
  7. 每次发版都搞到晚上11点,我们能不能……
  8. 远程服务器证书过期怎么解决,关于演示win7远程桌面证书过期的具体操作方式...
  9. vuex中mutation和action的详细区别
  10. 5G向5.5G演进,变化是什么?