




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、-. z.大屏幕顯示數(shù)字時(shí)鐘設(shè)計(jì) *:譚* 指導(dǎo)教師:* 專(zhuān)業(yè):* 年級(jí):20*級(jí)摘要本設(shè)計(jì)基于MFC,MFC是微軟公司提供的一條類(lèi)庫(kù),是一種應(yīng)用程序框架,隨微軟Visual C+開(kāi)發(fā)工具發(fā)布,以C+類(lèi)的形式封裝了Windows的API,并且包含一個(gè)應(yīng)用程序框架,以減少應(yīng)用程序開(kāi)發(fā)人員的工作量。其中包含的類(lèi)包含大量Windows句柄封裝類(lèi)和很多Windows的內(nèi)建控件和組件的封裝類(lèi)。MFC:微軟根底類(lèi)(Microsoft Foundation Classes),同VCL類(lèi)似,是一種應(yīng)用程序框架,隨微軟Visual C+開(kāi)發(fā)工具發(fā)布。目前最新版本為10.0,并且發(fā)布了中文版。該類(lèi)庫(kù)提供一組通用的
2、可重用的類(lèi)庫(kù)供開(kāi)發(fā)人員使用,大局部類(lèi)均從CObject 直接或間接派生,只有少局部類(lèi)例外。MFC應(yīng)用程序的總體構(gòu)造通常由開(kāi)發(fā)人員從MFC類(lèi)派生的幾個(gè)類(lèi)和一個(gè)CWinApp類(lèi)對(duì)象應(yīng)用程序?qū)ο蠼M成。MFC 提供了MFC AppWizard 自動(dòng)生成框架。Windows 應(yīng)用程序中,MFC 的主包含文件為Af*win.h。此外MFC的局部類(lèi)為MFC/ATL 通用,可以在Win32 應(yīng)用程序中單獨(dú)包含并使用這些類(lèi)。 由于它的易用性,初學(xué)者常誤認(rèn)為VC+開(kāi)發(fā)必須使用MFC,這種想法是錯(cuò)誤的。作為Application Framework,MFC的使用只能提高*些情況下的開(kāi)發(fā)效率,只起到輔助作用,而不能替
3、代整個(gè)Win32 程序設(shè)計(jì)。關(guān)鍵字:MFC;大屏顯示幕數(shù)字時(shí)鐘;C+。Large screen display digital clock designName:Chen Tan Tutor:Jijie Bi Major:Electronics and munications Engineering Grade: 2013Abstract This design is based on the MFC, MFC is Microsoft provides a class library,is a kind of application framework,along with the Micr
4、osoft Visual c+development tools, in the form of c+class encapsulates the Windows API, and contains an application framework, in order to reduce the workload application developers.Handle to the class contains a large number of Windows which contains wrapper class and many Windows built-in controls
5、and ponent wrapper class.MFC: Microsoft Foundation Classes (Microsoft Foundation Classes), with the VCL, is a kind of application framework, along with the Microsoft Visual c+development tools.Currently the latest version is 10.0, and release the Chinese version.The class library provides a set of g
6、eneric reusable class library for developers, most of the classification are directly or indirectly derived from CObject, only a few e*ceptions.The overall structure of the MFC applications usually derived by the developer from MFC class several classes and class a CWinApp object (the application ob
7、ject).MFC provides a MFC AppWizard framework automatically generated.Windows application, MFC master include file for Af*win.H.Also part of the MFC class for MFC/ATL general, can separate in the Win32 application contains and use these classes.Because of its ease of use, often mistaken for beginners
8、 vc+ evelopment must use MFC, this idea is wrong.As an Application Framework, the use of MFC can only improve the efficiency of the development of some cases, only play a supplementary role, and does not replace the Win32 programming.Key words:MFC;Screen display digital clock;C+.緒論1.1 MFC簡(jiǎn)介MFC(Micro
9、soft Foundation Classes),是微軟公是微軟公司提供的一條類(lèi)庫(kù)司提供的一條類(lèi)庫(kù)class libraries,以C+類(lèi)的形式封裝了Windows的API,并且包含一個(gè)應(yīng)用程序框架,以減少應(yīng)用程序開(kāi)發(fā)人員的工作量。其中包含的類(lèi)包含大量Windows句柄封裝類(lèi)和很多Windows的內(nèi)建控件和組件的封裝類(lèi)。MFC:微軟根底類(lèi)(Microsoft Foundation Classes),同VCL類(lèi)似,是一種應(yīng)用程序框架,隨微軟Visual C+開(kāi)發(fā)工具發(fā)布。目前最新版本為10.0,并且發(fā)布了中文版。該類(lèi)庫(kù)提供一組通用的可重用的類(lèi)庫(kù)供開(kāi)發(fā)人員使用,大局部類(lèi)均從CObject 直接或間
10、接派生,只有少局部類(lèi)例外。MFC應(yīng)用程序的總體構(gòu)造通常由開(kāi)發(fā)人員從MFC類(lèi)派生的幾個(gè)類(lèi)和一個(gè)CWinApp類(lèi)對(duì)象應(yīng)用程序?qū)ο蠼M成。MFC 提供了MFC AppWizard 自動(dòng)生成框架Windows 應(yīng)用程序中,MFC 的主包含文件為Af*win.h此外MFC的局部類(lèi)為MFC/ATL 通用,可以在Win32 應(yīng)用程序中單獨(dú)包含并使用這些類(lèi)。由于它的易用性,初學(xué)者常誤認(rèn)為VC+開(kāi)發(fā)必須使用MFC,這種想法是錯(cuò)誤的。作為Application Framework,MFC的使用只能提高*些情況下的開(kāi)發(fā)效率,只起到輔助作用,而不能替代整個(gè)Win32 程序設(shè)計(jì)。1.2 立項(xiàng)意義本設(shè)計(jì)難度不大,主要是培養(yǎng)
11、對(duì)MFC根底的學(xué)習(xí)和認(rèn)識(shí),并培養(yǎng)動(dòng)手能力以及獨(dú)立思考能力。1.3 設(shè)計(jì)要求1對(duì)系統(tǒng)進(jìn)展功能模塊分析、控制模塊分析正確,符合課題要求,實(shí)現(xiàn)相應(yīng)功能;可以加以其他功能或修飾,使程序更加完善、合理;2系統(tǒng)設(shè)計(jì)要實(shí)用,編程簡(jiǎn)練,可用,功能全面;3記錄設(shè)計(jì)情況備查,也為編寫(xiě)設(shè)計(jì)說(shuō)明書(shū)作好準(zhǔn)備;4要求采用模塊化程序設(shè)計(jì)方法,要求上機(jī)調(diào)試通過(guò)和按設(shè)計(jì)報(bào)告格式。方法步驟2.1 總框架數(shù)字時(shí)鐘獲取當(dāng)前時(shí)間 設(shè) 置 鬧 鐘 修 改 背 景 畫(huà) 面 顯 示 當(dāng) 前 時(shí) 間圖1.1 系統(tǒng)總框架首先獲取系統(tǒng)當(dāng)前時(shí)間,通過(guò)GetLocalTime(&locTm)函數(shù),之后分成三局部完成此設(shè)計(jì)。第一局部是設(shè)置一個(gè)計(jì)時(shí)器,每
12、隔一秒鐘顯示一次當(dāng)前時(shí)間;第二局部是改變系統(tǒng)背景畫(huà)面;第三局部是小鬧鐘的設(shè)計(jì)。2.2 時(shí)鐘局部2.2.1 時(shí)鐘流程圖開(kāi)場(chǎng)執(zhí)行計(jì)時(shí)器SetTime函數(shù),每秒鐘計(jì)時(shí)一次執(zhí)行onTimer函數(shù),即獲取系統(tǒng)時(shí)間執(zhí)行Format函數(shù),對(duì)控件內(nèi)的內(nèi)容格式化 否執(zhí)行SetDlgItemTe*t函數(shù),在其控件上顯示時(shí)間字符串 退出 是執(zhí)行KillTimer函數(shù),刪除計(jì)數(shù)器 完畢 圖1.2 時(shí)鐘流程圖首先執(zhí)行SetTimer1,1000,NULL函數(shù),執(zhí)行計(jì)數(shù)功能,SetTimer創(chuàng)立一個(gè)計(jì)時(shí)器,1:代表計(jì)時(shí)器的名稱(chēng),1000代表計(jì)時(shí)器的時(shí)間間隔,為1000ms=1s,NULL對(duì)應(yīng)的函數(shù)是OnTimer。OnT
13、imer函數(shù)用來(lái)獲取系統(tǒng)實(shí)現(xiàn),并執(zhí)行Format函數(shù),對(duì)控件內(nèi)的內(nèi)容格式化。執(zhí)行SetDlgItemTe*t函數(shù),在其控件上顯示時(shí)間字符串。此時(shí)如果不點(diǎn)擊退出,系統(tǒng)繼續(xù)計(jì)時(shí),假設(shè)果點(diǎn)擊退出,執(zhí)行執(zhí)行KillTimer函數(shù),刪除計(jì)數(shù)器,完畢系統(tǒng)。2.2.2 時(shí)鐘相關(guān)函數(shù)1Ctime 類(lèi) Ctime t=Ctime:GetCurrentTime();/獲取當(dāng)前時(shí)間,并賦值給t。2Cstring str;/字符串類(lèi)3Format(*);/格式化4Ctime 里有三個(gè)函數(shù): SetTimer(1,1000,NULL);OnTimer();KillTimer(1)。 Ctrl +w 調(diào)出classwiz
14、ard(類(lèi)引導(dǎo))在Message消息中選擇WM_Timer 才能在工程里參加OnTimer();函數(shù);這三個(gè)函數(shù)的作用分別是SetTimer創(chuàng)立一個(gè)計(jì)時(shí)器,1:代表計(jì)時(shí)器的名稱(chēng),1000代表計(jì)時(shí)器的時(shí)間間隔,為1000ms=1s,NULL對(duì)應(yīng)的函數(shù)是OnTimer ;也就是說(shuō)用SetTimer1,1000,NULL創(chuàng)立計(jì)時(shí)器后OnTimer函數(shù)每隔一秒就會(huì)執(zhí)行一次;KillTimer;用來(lái)刪除這個(gè)計(jì)時(shí)器,釋放內(nèi)存;當(dāng)然SetTimer1,1000,NULL的第一個(gè)參數(shù)1也可以改,相對(duì)應(yīng)的在OnTimer函數(shù)中:OntimerUINT nIDEventswitch (nIDEvent)Case
15、1: .;break;Case 2:.break;Case 3:.break;.還有幾個(gè)函數(shù) SetDlgItemTe*t(ID_NAME,str);在名為ID_NAME的控件上顯示字符串str。再來(lái)說(shuō)一下Format;對(duì)時(shí)間t進(jìn)展字符串可是轉(zhuǎn)化有兩種表示方法:CTimet=CTime:GetCurrentTime();CStringstr;str.Format(%02d:%02d:%02d,t.GetHour(),t.GetMinute(),t.GetSecond();str=t.Format(%H : %M : %S );假設(shè)要顯示年(%Y)月(%m)日(%d),則可表示為str=t.Fo
16、rmat(%Y-%m-%d %H:%M:%S)。2.2.3 時(shí)鐘局部運(yùn)行結(jié)果此局部為時(shí)鐘局部運(yùn)行結(jié)果,還沒(méi)有修改系統(tǒng)背景圖畫(huà)以及參加鬧鐘局部: 圖3 時(shí)鐘局部運(yùn)行結(jié)果2.3 修改背景畫(huà)面2.3.1相關(guān)函數(shù)void CMyDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device conte*t for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/設(shè)置背景/ Center icon in client rectangleint c*Icon = Get
17、SystemMetrics(SM_C*ICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int * = (rect.Width() - c*Icon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(*, y, m_hIcon);elseCDialog:OnPaint();2.3.2 修改畫(huà)面運(yùn)行結(jié)果圖4 修改系統(tǒng)畫(huà)面結(jié)果2.4 設(shè)置鬧鐘2.4.1 鬧鐘流程圖開(kāi)場(chǎng)OnTimer函數(shù)獲取
18、系統(tǒng)時(shí)間輸入鬧鐘時(shí)間以及提示文字判斷時(shí)間格式是否正確顯示請(qǐng)輸入正確時(shí)間! 否是否點(diǎn)擊試聽(tīng)按鈕 是播放鬧鐘聲音 是 否 點(diǎn)擊設(shè)置鬧鐘按鈕SetTimer(1,1000,NULL)函數(shù)時(shí)間計(jì)數(shù)器判斷輸入時(shí)間是否與系統(tǒng)時(shí)間一致 否 是鬧鈴響,顯示文字完畢 圖5 鬧鐘流程圖首先獲取系統(tǒng)時(shí)間,在edit控件中輸入鬧鐘時(shí)間以及要顯示的文字,判斷時(shí)間格式是否正確,如果不正確,顯示請(qǐng)輸入正確時(shí)間!并且重新輸入時(shí)間,如果正確,判斷是否點(diǎn)擊試聽(tīng)按鈕,如果點(diǎn)擊,則播放鬧鐘試音,否則點(diǎn)擊設(shè)置鬧鐘。此時(shí)印用SetTimer(1,1000,NULL)函數(shù)時(shí)間計(jì)數(shù)器,判斷輸入時(shí)間是否與系統(tǒng)時(shí)間一至,是則播放鬧鐘聲音并顯示文字,否則繼續(xù)時(shí)間計(jì)數(shù),知道與輸入的時(shí)間一致。2.4.2 鬧鐘相關(guān)函數(shù)三個(gè)編輯框添加三個(gè)成員m_hour,m_minutes,m_second然后在classview 選項(xiàng)卡下選擇onpaint()添加一個(gè)計(jì)時(shí)器SetTimer(1,1000,NULL);選擇Ontim
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人租房押付三合同
- 廣告設(shè)計(jì)制作合同協(xié)議書(shū)
- 客車(chē)駕駛員聘用協(xié)議書(shū)
- 分期付款設(shè)備買(mǎi)賣(mài)合同
- 物資倉(cāng)庫(kù)裝修施工方案
- 下部結(jié)構(gòu)施工方案
- 宿遷住宅防水施工方案
- 安徽省部分學(xué)校2024-2025學(xué)年高三下學(xué)期3月調(diào)研考試歷史試題(原卷版+解析版)
- 暖氣片施工方案
- 泡沫箱和紙箱加工生產(chǎn)線環(huán)評(píng)報(bào)告表
- 2024年常德職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 模板工程風(fēng)險(xiǎn)辨識(shí)及防范措施
- 《紅樓夢(mèng)第五回》課件2
- 縫紉工(技師)理論考試復(fù)習(xí)題庫(kù)(匯總)
- 2024年中國(guó)移動(dòng)校園招聘高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 《C語(yǔ)言從入門(mén)到精通》培訓(xùn)教程課件
- 羔羊胃提取物維B12膠囊治療慢性萎縮性胃炎伴腸化的臨床療效觀察
- 2023年陜西省高中學(xué)業(yè)水平考試樣卷歷史試卷試題(含答案詳解)
- 2024年鎮(zhèn)江市高等專(zhuān)科學(xué)校高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 被人誹謗起訴狀
- 無(wú)人機(jī)技術(shù)在物流配送中的應(yīng)用
評(píng)論
0/150
提交評(píng)論