『原創』用C++開發WM應用系列(2)——撥打到電話

來源:互聯網
上載者:User

用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_DEFAULT        callinfo.pszDestAddress = L"13411897756";        PhoneMakeCall(&callinfo);     } 

  Ok,最後,請記得,在MakeCallDlg.cpp頂部#include"phone.h"哦!接下來應該是順利編譯通過。然後就可以看到模擬器中,有一個打給13411897756的電話正在通話中了!

總結:

我們學會了:

  1. 為程式完成特定功能添加引用
  2. 撥打到電話方法的使用
  3. 修改控制項的基本屬性

問題:

我們也看到:

  1. 撥號很死板,應該要靈活設定號碼
  2. ... ...

後記:

在接下來的一節中,我們將來改進一下這個程式,讓他的撥號支援我們的輸入,以及添加一個傳送簡訊的功能在裡面,屆時我們又可以多學幾個控制項以及方法的使用。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.