MFC入門--對(duì)話框?qū)嵗?doc

MFC入門--對(duì)話框?qū)嵗?doc

ID:62033774

大小:191.50 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2021-04-15

MFC入門--對(duì)話框?qū)嵗?doc_第1頁(yè)
MFC入門--對(duì)話框?qū)嵗?doc_第2頁(yè)
MFC入門--對(duì)話框?qū)嵗?doc_第3頁(yè)
MFC入門--對(duì)話框?qū)嵗?doc_第4頁(yè)
MFC入門--對(duì)話框?qū)嵗?doc_第5頁(yè)
資源描述:

《MFC入門--對(duì)話框?qū)嵗?doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、MFC入門——對(duì)話框?qū)嵗龑?shí)例1目的:設(shè)計(jì)一個(gè)基于對(duì)話框的程序,界面上有一個(gè)“延遲6秒”的按鈕,點(diǎn)擊后,程序主窗口在6秒內(nèi)無法拖動(dòng).關(guān)鍵點(diǎn):MFC程序入門、線程與進(jìn)程、消息機(jī)制操作過程:1-新建項(xiàng)目,選擇MFCAppWizard?。╡xe),命名項(xiàng)目為“SingleThread”。如圖:(注:關(guān)于各項(xiàng)目類型的說明,請(qǐng)參見文件“VC功能簡(jiǎn)介.ppt”的第8頁(yè))2-選擇“Dialogbased”,點(diǎn)擊Finish,仔細(xì)觀察項(xiàng)目信息。3-在資源視圖內(nèi)對(duì)主對(duì)話框添加靜態(tài)文本:“我的第一個(gè)MFC程序”和“演示耗時(shí)的單線程”,繼而添加一個(gè)按鈕,按鈕現(xiàn)實(shí)文字

2、“延遲6秒”,如圖:4—在資源視圖內(nèi),雙擊“延時(shí)6秒”按鈕,為其添加BN_CLICKED消息(按下按鈕時(shí)發(fā)出的消息)的響應(yīng)函數(shù)OnButton1()。在其中添加代碼:?Slee(cuò)p(6000); 請(qǐng)根據(jù)老師對(duì)程序的講解,思考如下問題:1.類的繼承:三個(gè)的類(CAboutDlg、CSingleThreadApp、CStringThreadDlg)的繼承軌跡是怎樣的?2.程序的入口在哪里?有沒有類似Win32Application中對(duì)于WM_CREATE的處理?3.三個(gè)類的對(duì)象的關(guān)系.4.消息如何映射?實(shí)例2設(shè)計(jì)一個(gè)基于對(duì)話框的程序,開始運(yùn)行后,每

3、兩秒彈出一個(gè)消息框.關(guān)鍵點(diǎn):MFC程序入門;定時(shí)器的建立、使用與刪除;消息映射操作過程:1-新建項(xiàng)目,選擇MFCAppWizard(exe),命名項(xiàng)目為“Test”。2-選擇“Dialogbased”。3-在BOOLCTestDlg::OnInitDialog()函數(shù)中添加SetTimer(1,2000,NULL); //啟動(dòng)定時(shí)器4-通過ClassWizard給對(duì)話框添加WM_DESTROY的響應(yīng)函數(shù)。如圖:在其中添加代碼:?KillTimer(1);5-通過ClassWizard給對(duì)話框添加WM_TIMER的響應(yīng)函數(shù)。在其中添加代碼:if

4、(nI(lǐng)DEvent==1){::MessageBox(0,”嘿嘿",”你點(diǎn)??!!",MB_OK);}請(qǐng)根據(jù)老師對(duì)程序的講解,思考如下問題:1.MFC下與Win32Application下定時(shí)器的使用有什么不同,又有什么相同之處?實(shí)例3設(shè)計(jì)一個(gè)基于對(duì)話框的程序,通過點(diǎn)擊Button,將數(shù)據(jù)反映到編輯控件上。關(guān)鍵點(diǎn):如何將后臺(tái)數(shù)據(jù)反映到界面上。操作過程:1—新建項(xiàng)目,選擇MFCAppWizard(exe),命名項(xiàng)目為“Test”。2-選擇“Dialogbased"。3-在對(duì)話框上添加編輯框和按鈕.4-選擇菜單中ViewàClassWizard,查

5、看Member Variables。為編輯框添加控件變量。5-雙擊“Button"按鈕,添加消息相應(yīng)代碼如下:?m_Edit1.SetWindowText(”你干嘛戳我?。?!”);請(qǐng)根據(jù)老師對(duì)程序的講解,思考如下問題:1.對(duì)象m_Edit1的類是什么?其又從何處繼承而來?2.SetWindowText是怎樣的一個(gè)函數(shù),如何發(fā)現(xiàn)其為公有還是私有?實(shí)例4設(shè)計(jì)一個(gè)具有編輯框和“Next”按鈕的對(duì)話框程序,用戶可在編輯框中輸入任何文本。點(diǎn)擊“Next"按鈕后,彈出一個(gè)新的對(duì)話框,新對(duì)話框上可顯示用戶在編輯框中輸入的文本.關(guān)鍵點(diǎn):如何在項(xiàng)目中添加新的類

6、;如何利用Updat(yī)eData()函數(shù)來溝通界面與后臺(tái)數(shù)據(jù)。操作過程:1.創(chuàng)建基于對(duì)話框的工程文件和新對(duì)話框資源用ApplicationWizard創(chuàng)建一個(gè)對(duì)話框工程文件MyDlg,然后添加對(duì)話框資源。新對(duì)話框命名為CNext類。2.在主對(duì)話框上添加編輯框和“Next”按鈕。通過ClassWizard給編輯框添加變量,變量類型是CString,變量名為m_text。在CNext對(duì)話框上添加一編輯框.通過ClassWizard給該編輯框添加變量,變量類型是CString,變量名為m_text2.3.在主對(duì)話框cpp程序中添加CNext類的頭文件

7、。4。通過ClassWizard給“Next”按鈕添加單擊消息的響應(yīng)函數(shù)。在其中添加代碼:?UpdateData(TRUE);//MFC將數(shù)據(jù)從控件傳遞到關(guān)聯(lián)的成員變量?CNextdlg;dlg.m_text2=m_text;?dlg。DoModal();//DoModal()建立對(duì)話框窗口并顯示對(duì)話框?UpdateData(FALSE);//MFC將數(shù)據(jù)從成員變量傳遞到關(guān)聯(lián)的控件請(qǐng)根據(jù)老師對(duì)程序的講解,思考如下問題:1.課程中,討論過幾種MFC下實(shí)現(xiàn)“邏輯/界面”聯(lián)系的方式?(可以以編輯框?yàn)槔?.你是否學(xué)過VB、Java或者C#,在這些語(yǔ)

8、言下,又是如何實(shí)現(xiàn)建立“邏輯/界面”之間的聯(lián)系的?

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。