版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
東北大學(xué)軟件學(xué)院實(shí)驗(yàn)報(bào)告第1頁共9頁MFC可視化程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告課程名稱:MFC可視化程序設(shè)計(jì)姓名:實(shí)驗(yàn)名稱:MFC可視化程序設(shè)計(jì)學(xué)號(hào):任課教師:馬毅專業(yè):信息安全指導(dǎo)教師:馬毅班級(jí):班實(shí)驗(yàn)成績(jī):批閱教師簽字:
一、實(shí)驗(yàn)?zāi)康募由罾斫釽indows程序設(shè)計(jì)的基本概念?;趩挝臋n的應(yīng)用程序的創(chuàng)建學(xué)會(huì)對(duì)話框的創(chuàng)建二、實(shí)驗(yàn)環(huán)境 MicrosoftWindowsXP MicrosoftVisualC++6.三、實(shí)驗(yàn)內(nèi)容和預(yù)習(xí)實(shí)驗(yàn)一:彈出對(duì)話框,運(yùn)用DoModal()函數(shù);實(shí)驗(yàn)二:彈出非模態(tài)對(duì)話框,聲明指針,運(yùn)用Create(),ShowWindow()函數(shù)彈出非模態(tài)對(duì)話框;實(shí)驗(yàn)三:查找文件;運(yùn)用CFileDialog(),GetPathName()函數(shù);實(shí)驗(yàn)四:網(wǎng)上調(diào)查,添加Button,分組,在OKButton上添加消息映射,運(yùn)用GetButton()函數(shù),在窗體中添加缺省項(xiàng);實(shí)驗(yàn)五:計(jì)算器,添加ExitButton,在OKButton中修改屬性,在修改后添加消息映射;在窗體ClassWizard導(dǎo)入類中選擇MemberVariable中添加controlEdit;然后在ONOK中寫入函數(shù);實(shí)驗(yàn)六:圖標(biāo)運(yùn)用GetCheck()函數(shù),裝載圖標(biāo),在子菜單中顯示出來;四、實(shí)驗(yàn)過程與分析實(shí)驗(yàn)一:彈出對(duì)話框關(guān)鍵代碼:Cfrista;//定義對(duì)話框類的對(duì)象 if(a.DoModal()==IDOK)//clickOKButton MessageBox("Areyousureexit?");//彈出語句編譯錯(cuò)誤,沒有聲明頭文件#include“frist.h”實(shí)驗(yàn)二:創(chuàng)建一個(gè)非模態(tài)的單文檔窗口步驟:①步驟和(一)差不多只是代碼不同,在堆中開辟內(nèi)存定義一個(gè)指針,指向彈出對(duì)話框的那個(gè)類。②運(yùn)用Create(),和ShowWindow();函數(shù)分別創(chuàng)建和顯示和出來然后用DestroyWindow();函數(shù),deletethis;關(guān)鍵代碼: Csecond*p; p=newCsecond(); p->Create(IDD_DIALOG2);//創(chuàng)建對(duì)話框 p->ShowWindow(SW_NORMAL);//顯示出對(duì)話框p=newCsecond();構(gòu)造函數(shù)調(diào)用錯(cuò)了實(shí)驗(yàn)三:查找文件運(yùn)用CFileDialog(),和GetPathName()函數(shù);關(guān)鍵代碼: CStringfilter;filter="文本文件(*.txt)|*.txt|c++文件(*.h,*.cpp)|*.h;*.cpp||";CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,filter);//建立文件對(duì)話框 if(dlg.DoModal()==IDOK) { CStringstr; str=dlg.GetPathName();//獲得文件名 AfxMessageBox(str);//輸出文件名 }沒有輸出路徑,函數(shù)運(yùn)用了GetFileName();應(yīng)該運(yùn)用的是GetPathName()函數(shù)。實(shí)驗(yàn)四:網(wǎng)絡(luò)調(diào)查:(老師您提問我,如何在已有的組里在再添加Button項(xiàng),程序可執(zhí)行?下面是我改后的代碼;其中IDC_RADIO7和IDC_RADIO8是后添加的)①添加Button,分組;在OKButton上添加消息映射,運(yùn)用GetButton()函數(shù),在窗體中添加缺省項(xiàng);關(guān)鍵代碼:CStringstrTemp=""; CStringstrText=""; intiID; iID=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO3);//檢查3個(gè)中哪一個(gè)被選中 if(iID==0) { iID=IDC_RADIO7; }//如果未選中將iID的值賦為IDC_RADIO7 GetDlgItem(iID)->GetWindowText(strTemp);//得到RADIO的內(nèi)容 strText+=strTemp+'\n'; iID=GetCheckedRadioButton(IDC_RADIO4,IDC_RADIO6); if(iID==0) { iID=IDC_RADIO8; } GetDlgItem(iID)->GetWindowText(strTemp); strText+=strTemp+'\n'; intiIDs[4]={IDC_CHECK1,IDC_CHECK2,IDC_CHECK3}; CButton*p; for(inti=0;i<3;i++)//將四個(gè)中的選中那個(gè)show出來 { p=(CButton*)GetDlgItem(iIDs[i]);//強(qiáng)制類型轉(zhuǎn)換 if(p->GetCheck())//把被選中的show出來 { p->GetWindowText(strTemp); strText+=strTemp+""; } }設(shè)置默認(rèn): MessageBox(strText);//show CheckRadioButton(IDC_RADIO1,IDC_RADIO7,IDC_RADIO7);//能選中的有RADIO1,2,3和RADIO7,RADIO7是默認(rèn)的 CheckRadioButton(IDC_RADIO4,IDC_RADIO8,IDC_RADIO8); CButton*p=(CButton*)GetDlgItem(IDC_CHECK2); p->SetCheck(1);故障:現(xiàn)象:第一組沒有默認(rèn),分析:1到7是1,2,3加7而不是1,2,3,4,5,6,7;4,5,6是另一組的;問題應(yīng)該是在設(shè)置默認(rèn)函數(shù)時(shí)默認(rèn)設(shè)為IDC_RADIO6或5等;實(shí)驗(yàn)五:計(jì)算器步驟:添加ExitButton,在OKButton中修改屬性,在修改后添加消息映射;在窗體ClassWizard導(dǎo)入類中選擇MemberVariable中添加controlEdit;然后在ONOK中寫入函數(shù);關(guān)鍵代碼: charch1[10]; charch2[10]; charch3[10]; intnum1; m_edit1.GetWindowText(ch1,10);//得到對(duì)話框中輸入的數(shù)字m_edit2.GetWindowText(ch2,10); num1=atoi(ch1)+atoi(ch2);//轉(zhuǎn)換成int類型,并做加法 itoa(num1,ch3,10); m_edit3.SetWindowText(ch3);//輸出即在框中顯示出來實(shí)驗(yàn)六:圖標(biāo)(BITMAP)首先在CMainFrame類中添加屬性bool類型的bCh;然后再構(gòu)造函數(shù)里為bCh賦值為false;為圖標(biāo)添加command消息映射;并寫入代碼bCh!=bCh;//單擊時(shí)圖標(biāo)變換;接著在為圖標(biāo)添加UPDATE_COMMAND_UI的消息映射,運(yùn)用GetCheck()函數(shù),標(biāo)識(shí)選中的圖標(biāo),將已有的圖標(biāo)裝載,在子菜單中顯示出來;五、實(shí)驗(yàn)總結(jié)(一)、創(chuàng)建一個(gè)單文檔窗口①在Dialog中插入一個(gè)對(duì)話框然后為對(duì)話框建立一個(gè)類CFrist②在IDR_MAINFRAME中建一個(gè)屬性(子菜單),用它彈出對(duì)話框。在子菜單中導(dǎo)入類,增加消息映射,編寫代碼。用DoMoal顯示出來(二)創(chuàng)建一個(gè)非模態(tài)的單文檔窗口①步驟和(一)差不多只是代碼不同,在堆中開辟內(nèi)存定義一個(gè)指針,指向彈出對(duì)話框的那個(gè)類。②運(yùn)用Create(),和ShowWindow();函數(shù)分別創(chuàng)建和顯示和出來(三)查找文件①運(yùn)用CFileDialog(),和GetPathName()函數(shù);返回的文件的位置(路徑);(四)網(wǎng)上調(diào)查:①添加Button,分組;②在OKButton上添加消息映射,運(yùn)用GetButton()函數(shù),在窗體中添加缺省項(xiàng);(五)計(jì)算器:添加ExitButton,在OKButton中修改屬性,在修改后添加消息映射;在窗體ClassWizard導(dǎo)入類中選擇MemberVariable中添加controlEdit;然后在ONOK中寫入函數(shù);計(jì)算加法;實(shí)驗(yàn)改進(jìn)可以在計(jì)算減法;(六)圖標(biāo):首先在CMainFrame類中添加屬性bool類型的bCh;然后再構(gòu)造函數(shù)里為bCh賦值為false;為圖標(biāo)添加command消息映射;并寫入代碼bCh!=bCh;//單擊時(shí)圖標(biāo)變換;接著在為圖標(biāo)添加UPDATE_COMMAND_UI的消息映射,運(yùn)用GetCheck()函數(shù),標(biāo)識(shí)選中的圖標(biāo),將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)加盟合作協(xié)議(2024版)細(xì)則版
- 2025年茶園租賃合同示范文本8篇
- 2024版轎車租借合同:全面保障合同條款版
- 2025年度柴油發(fā)電機(jī)及配件全球采購合同范本4篇
- 2024年04月陜西西安銀行金融市場(chǎng)及資產(chǎn)管理業(yè)務(wù)人才招考筆試歷年參考題庫附帶答案詳解
- 專業(yè)空氣能熱泵熱水器安裝工程協(xié)議規(guī)范文本版B版
- 專業(yè)設(shè)備采購銷售協(xié)議:2024版細(xì)則版A版
- 2025年度綠色建筑場(chǎng)調(diào)研與投資評(píng)估服務(wù)合同4篇
- 二零二五年度瓷磚行業(yè)供應(yīng)鏈管理合同3篇
- 2025年環(huán)保設(shè)備產(chǎn)品區(qū)域代理合同4篇
- GB/T 18476-2001流體輸送用聚烯烴管材耐裂紋擴(kuò)展的測(cè)定切口管材裂紋慢速增長(zhǎng)的試驗(yàn)方法(切口試驗(yàn))
- GA 1551.5-2019石油石化系統(tǒng)治安反恐防范要求第5部分:運(yùn)輸企業(yè)
- 拘留所教育課件02
- 沖壓生產(chǎn)的品質(zhì)保障
- 《腎臟的結(jié)構(gòu)和功能》課件
- 2023年湖南聯(lián)通校園招聘筆試題庫及答案解析
- 上海市徐匯區(qū)、金山區(qū)、松江區(qū)2023屆高一上數(shù)學(xué)期末統(tǒng)考試題含解析
- 護(hù)士事業(yè)單位工作人員年度考核登記表
- 天津市新版就業(yè)、勞動(dòng)合同登記名冊(cè)
- 產(chǎn)科操作技術(shù)規(guī)范范本
- 人教版八年級(jí)上冊(cè)地理全冊(cè)單元測(cè)試卷(含期中期末試卷及答案)
評(píng)論
0/150
提交評(píng)論