淺談eMbedded Visual C++4.0對於Windows CE.net 的開發 (轉)
淺談eMbedded Visual C++4.0對於 CE 的開發:namespace prefix = o ns = "urn:schemas--com::office" />
摘要:說明利用eMbedded Visual C++4.0實現嵌入式Windows CE.net 的開發技術,介紹具體實現的思想和方案。
關鍵詞:嵌入式 Windows CE.net eMbedded Visual C++4.0
本文主要講述如何使用eMbwedded Visual C++4.0 來進行 Windows CE.net的開發?如果你已經能熟練應用 Microsoft Visual C++ 這個 Windows 平臺上最優秀的開發工具,那麼這個針對於嵌入式Windows CE.net的開發環境eMbwedded Visual C++4.0對你來說也就相對簡單了。
關於eMbedded Visual C++4.0嚮導
eMbedded Visual C++4.0能使你開發和Visual C++相似的應用的在Windows CE.net上執行的應用程式,另外,還包括你所開發對於Windows CE平臺和裝置的應用程式時所用的幫助工具。你要弄明白目標環境、Windows CE.net和新的嚮導的特殊性。這裡我們將重點介紹一下“Windows CE.net 應用程式嚮導(Wizards)”。
eMbedded Visual C++4.0 中所帶的應用程式嚮導是一個非常有用的工具。一共有七種型別的新的嚮導,它們的使用方法和 Visual C++ 中常規的嚮導沒什麼區別,只是它們是用於 Windows CE.net 開發的。你可以利用它們來地建立一個基本的應用程式、動態連線庫(DLL)或者應用程式外殼。這七種新的嚮導分別是:WCE 應用程式; WCE MFC嚮導(.dll);WCE 動態連線庫 ;WCE 靜態連線庫嚮導;WCE ATL 應用嚮導; WCE MFC 嚮導和WCE MFC嚮導(.exe)。相比於臺式系統, (包括MFC)都有很大的限制,例如,Windows CE系統中很多行為都不是很明顯,即使她也允許你象在臺式PC機那樣操作。 當然隨著 Windows CE.net 的普及,必然會有更多的 eMbedded Visual C++4.0 嚮匯出現的。
使用eMbedded Visual C++4.0編寫第一個 CE 應用程式
以下我們將透過一個簡單的例子來說明如何使用 eMbedded Visual C++4.0 的 WCE MFC 應用嚮導來(EXE) 來開發一個 CE 應用程式。eMbedded Visual C++4.0提供了以下型別的多種選擇:ARM, MIPS, Shx及 x86。雖然作為Windows CE.net的,但她也支援很多不同的裝置。在編輯框中輸入兩個數,單擊”計算結果”按鈕,則在第三個編輯框中顯示兩數結果,可以是四種演算法中一種.編寫一個小程式名為y3.
1. 定製對話方塊模板
設定對話方塊本身的屬性;向對話方塊放置控制元件及設定控制元件跳錶順序.
(1) 設定對話方塊的屬性
(2) 新增控制元件並設定控制元件屬性.本次介紹七種圖形控制元件,靜態文字控制元件,編輯框,組框,按鈕,核取方塊以及單選框
(3) 設定控制元件跳錶順序,即對每個控制元件賦予順序編號.
2. 定義成員變數
變數的類別可以為Value或Control.後者表示所定義的變數是控制元件類的一個物件.前者表示所定義的變數是與控制元件相聯絡的一個值.
3. 增加事件處理
4. 增加程式碼
需要實現的函式包括:OnButtonResult(),OnChangeEditAdd1(),OnChangeEditAdd2(),OnRa
dioAdd(),OnRadioDiv(),OnRadioMulti(),OnRadioSub().
void CY3Dlg::OnChangeEditAdd1()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you overr the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
if(m_bAtOnce)
{
OnButtonResult();}
}
void CY3Dlg::OnChangeEditAdd2()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
UpdateData();
if(m_bAtOnce)
{
OnButtonResult();
}
}
void CY3Dlg::OnRadioAdd()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_strOpr="+";
UpdateData(false);
}
void CY3Dlg::OnRadioDiv()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_strOpr="/";
UpdateData(false);
}
void CY3Dlg::OnRadioMulti()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_strOpr="*";
UpdateData(false);
}
void CY3Dlg::OnRadioSub()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_strOpr="-";
UpdateData(false);
}
void CY3Dlg::OnButtonResult()
{
// TODO: Add your control notification handler code here
UpdateData(true);
switch(m_dOpr)
{
case 0: /*加法*/
m_fResult=m_fAdd1+m_fAdd2;
break;
case 1: /*減法*/
m_fResult=m_fAdd1-m_fAdd2;
break;
case 2: /*乘法*/
m_fResult=m_fAdd1*m_fAdd2;
break;
case 3: /*除法*/
m_fResult=m_fAdd1/m_fAdd2;
break;
}
UpdateData(false);
}
上面程式碼中頻繁出現了函式Updatedata(),其格式如下:
BOOL UpdataData(BOOL bSaveAndValidate=TRUE); Updatedata()是MFC類CWnd的成員函式,CWnd類是很重要的一個MFC類,所有視窗類都直接或間接繼承它。各關聯函式的初值在函式CY3Dlg::CY3Dlg中初始化。
CY3Dlg::CY3Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CY3Dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CY3Dlg)
m_fResult = 0.0;
m_dOpr = 0;
m_strOpr = _T("+");
m_bAtOnce=FALSE;
m_fAdd1 = 0.0;
m_fAdd2 = 0.0;
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
結束
祝賀你!你已經完成了第一個 Windows CE 應用程式的開發。就像你所看到的一樣,使用 Visual C++ 來開發 Windows CE 應用程式和開發一個 Win32 應用程式是一樣的簡單。大多數步驟都是一樣的。至此,本文已經就如何使用 Visual C++ 來開發 Windows CE 應用程式做了一個簡單的介紹。在下面的章節中,你可以到其它相關的地方去獲取更多的關於 Windows CE 和手持計算的知識。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-977272/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 談談對於JavaFX開發的感想Java
- Windows Embedded CEWindows
- Windows XP EmbeddedWindows
- 關於Visual Basic 6.0類開發(下) (轉)
- 關於Visual Basic 6.0類開發(上) (轉)
- 淺談模組化開發
- 淺談Blazor開發的那些事Blazor
- 淺談KVO, iOS的開發之旅iOS
- 淺談SQL Server 對於記憶體的管理SQLServer記憶體
- Windows Embedded CE 6.0開發初體驗(六)平臺定製Windows
- Visual Basic的類對於物件導向的支援 (轉)物件
- 淺談桌面應用程式的開發
- 淺談 Android 開發文化Android
- Windows Embedded for Point of Service概述Windows
- 淺談基於 Laravel 開發的 MeEdu 的微服務架構設計Laravel微服務架構
- 淺談iPaaS對企業轉型的重要性
- 對於Web開發最棒的22個Visual Studio Code外掛Web
- Windows Embedded CE 6.0開發初體驗(五)構建CE平臺Windows
- 對Promise的深情,只好淺談Promise
- android 開發淺談(JDK && NDK)AndroidJDK
- 淺談一下“敏捷開發”敏捷
- 淺談移動端混合開發
- Windows Embedded for Point of Service 益處Windows
- 研發內部控制淺談(一)(轉)
- 研發內部控制淺談(二)(轉)
- 研發內部控制淺談(三)(轉)
- 研發內部控制淺談(四)(轉)
- 淺談SQL Server中統計對於查詢的影響SQLServer
- 淺談軟體開發模型之瀑布開發和敏捷開發模型敏捷
- 致勝策略——淺談新產品開發的專案管理問題(轉)專案管理
- 談談對BPM的理解(轉)
- 淺談對java-GC的理解JavaGC
- 淺談直播教育平臺開發成本
- Android SDK 開發經驗淺談Android
- 淺談支付系統開發基本流程
- 淺談Python專案開發&管理Python
- 淺談移動端開發頁面
- Windows Embedded CE 6.0開發初體驗(七)編譯和除錯平臺Windows編譯除錯