『原創』用C++開發WM應用系列(1)——”Hello World” Pro!(上)

來源:互聯網
上載者:User

用C++開發WM應用系列文章索引

引言:

  其實,在很久之前,就想涉足Native C++的WM開發,無奈自身的C++水平僅限於大學時的應試階段,所以,特別的潛心修鍊,重新炒炒回鍋肉,終於,小有成就,特此拿出來,供各位朋友一起分享,特別是針對初學c++又想搞WM開發的朋友。我的這一系列的文章,也會以一個初學者(我也不是高手)的角度,一步一步介紹如何在Native C++語言環境下,進行WM的一般開發。

  當然,為了照顧到和我一樣的入門學者,我在隨筆中也會花部分精力為大家將就介紹一些c++的知識,稍顯羅嗦,不過還請海涵啊~呵呵!再一點,本文也是針對那些已經有c#語言開發WM應用的朋友,如果沒有這方面的基礎,估計是有點難!

 

本文:

  世界上最俗氣的入門程式,莫過於“你好,世界!”(Hello World!)了(發現中文要比英文少敲好幾個按鍵啊~呵呵),在此呢,Jack也是不能免俗,拿這個最通俗易懂的例子,來和大家一起進入今天的隨筆。我們要用vs2008,使用c++語言,建立一個智慧型裝置項目,而項目模板則使用MFC,如:

1-選擇語言、項目模板以及項目類型,輸入我們的項目名稱“HelloWorld”

   

2-注意我們選擇Windows Mobile 5.0 Pocket PC這個SDK來作為我們的執行個體SDK:

  

3-選擇應用程式類型為“基於對話方塊”

  

  什麼是MFC呢?我建議大家自己查查資料吧,說起來,真的太多太廣了!當然,我也是初學,紅皮書這麼告訴我的,那麼我也就按部就班的建立起這個項目了。

tips:什麼是MDI、SDI及對話方塊?

參考連結(有圖有真相):http://book.51cto.com/art/200901/105523.htm

  至此,我們建立了一個新的基於“對話方塊”的MFC行動裝置 App程式,可以看到,右側的解決方案資源總管,有幾個檔案夾,什麼標頭檔、源檔案這些的,請你參考<Visual Studio 2005 c++ 入門經典>一書,上面詳細的介紹了這些檔案夾的作用以及關係。在此就不贅述了。

  我們開啟一個叫做“資源檢視”的表單,應該如所示:

  

  你可能會對這寫內容感興趣,但是在此限於篇幅,請各位朋友自行查閱一些資料,去瞭解這個“資源”是回什麼事兒,它對於這個項目有什麼用,我們可以怎麼來用它~等等。那麼,我們雙擊中標出的菜單,在主編輯區可以看到一個熟悉的介面開啟了,還可以從工具列拖動控制項到這個介面上,是不是有點Delphi的味道?到這裡,我就不多說了。想必大家已經把一個Button按鈕放到介面中了吧。

  

  好的,如果我們要對這個按鈕進行事件的添加,突然發現,不能像c#中雙擊控制項了,這裡,我們要按照MFC的規則,來給控制項添加“事件處理常式”,在MFC中,這種方式很常見,它用一個嚮導型的過程,協助我們建立這些方法及代碼。具體流程如:

1-按右鍵我們的Button1按鈕,在操作功能表中選擇“添加事件處理常式”:

  

2-在新視窗中,設定訊息類型、此訊息位於哪個類,以及函數處理常式的名稱:如紅色框所示

    

  OK,至此,我們學會了如何在MFC中為控制項建立相應代碼和方法,那麼我們就開始來寫代碼吧,很簡單,就是在剛才的那個方法體內,寫入如下代碼:

  

void CHelloWorldDlg::OnBnClickedButton1(){MessageBox(L"Hello World",L"Tips",0);}

  接下來,編譯、產生、運行一下!

  是不是成功了呢?!別高興,在此我們還有些東西不明白,不過不急,我們是初學者,先有個感性的認識再說其他的吧。這篇隨筆就到這裡,下一篇中,我將和大家一起分享如何使用類、函數以及成員變數,來擴充我們的這個“你好,世界!”程式!

 

總結:

我們學會了:

  1. 使用VS2008建立一個基於MFC的智慧型裝置應用項目
  2. 我們瞭解了MDI、SDI及對話方塊的概念
  3. 我們學會了為控制項添加“事件處理常式”
  4. 我們學會了為程式添加功能代碼  

問題:

我們看到:

  1. 為什麼那個MessageBox方法中的那些字串之前要加個L呢?其實我們自己下來查下資料就知道了。這裡推薦一篇吧:http://www.cnblogs.com/wanghao111/archive/2009/05/25/1488816.html
  2. 為什麼添加事件那麼麻煩,還引入了一個“訊息處理”的概念?其實這個跟MFC的一些基礎知識有關,我們也許要自己下來查閱一下關於MFC的基礎知識,相信大家能夠理解。

後記:

在下一篇隨筆中,我會去擴充這個基礎的程式功能,我們將建立一個類,為這個類添加方法、屬性,讓程式調用這個類,來進行一些簡單的計算。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.