MFC實(shí)驗(yàn)報(bào)告東北大學(xué)_第1頁
MFC實(shí)驗(yàn)報(bào)告東北大學(xué)_第2頁
MFC實(shí)驗(yàn)報(bào)告東北大學(xué)_第3頁
MFC實(shí)驗(yàn)報(bào)告東北大學(xué)_第4頁
MFC實(shí)驗(yàn)報(bào)告東北大學(xué)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論