当前位置:主页   - 电脑 - 程序设计 - C/C++
用C++开发WM应用系列(2)——拨打电话
来源:网络   作者:Jack Fan   更新时间:2011-10-16
收藏此页】    【字号    】    【打印】    【关闭

  引言:

  在上一节中,我们通过了一个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"即可。

用C++开发WM应用系列(2)——拨打电话

  查看原图(大图)

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

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

1 void CMakeCallDlg::OnBnClickedButton1()
2     {
3         PHONEMAKECALLINFO callinfo;
4         callinfo.cbSize = sizeof(callinfo);
5         callinfo.dwFlags= PMCF_PROMPTBEFORECALLING;//PMCF_DEFAULT
6         callinfo.pszDestAddress = L"13411897756";
7         PhoneMakeCall(&callinfo);
8     } 

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

  总结:

  我们学会了:

  1. 为程序完成特定功能添加引用

  2. 拨打电话方法的使用

  3. 修改控件的基本属性

  问题:

  我们也看到:

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

  2. ... ...

  后记:

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

  出处:http://longqi293.cnblogs.com

编缉推荐阅读以下文章

  • 用C++开发WM应用系列(4)——处理屏幕旋转
  • 用C++开发WM应用系列(3)——发送SMS
  • 用C++开发WM应用系列(1)——"Hello World" Pro!(下)
  • 用C++开发WM应用系列(1)——"Hello World" Pro!(上)
其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明