版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> VC++程序設(shè)計(jì)</b></p><p> 1.設(shè)計(jì)方案及功能描述:</p><p> 本設(shè)計(jì)為一個(gè)基于對(duì)話框的應(yīng)用項(xiàng)目(項(xiàng)目名稱為DW)。在主對(duì)話框中設(shè)置組合框、列表框和“添加”按鈕。當(dāng)按下“添加”按鈕后,調(diào)用一個(gè)班級(jí)信息輸入的對(duì)話框(包括班級(jí)號(hào)、班級(jí)名稱、學(xué)生人數(shù)、女生人數(shù))。班級(jí)信息輸入的結(jié)果在主對(duì)話框中顯示,其中班級(jí)號(hào)顯示在組
2、合框,選擇組合框的班級(jí)號(hào)后,班級(jí)的其他信息顯示在列表框。</p><p><b> 2.實(shí)現(xiàn)步驟:</b></p><p> 2.1創(chuàng)建并設(shè)計(jì)對(duì)話框</p><p> 新建一個(gè)名為DW的工程,在這個(gè)創(chuàng)建一個(gè)基本對(duì)話框的應(yīng)用項(xiàng)目。單擊對(duì)話框編輯器工具欄上的切換網(wǎng)格按鈕 ,顯示對(duì)話框網(wǎng)格。</p><p> ?。?)選
3、擇“File”→“New”菜單命令,在彈出的“New”對(duì)話框中,“Project”標(biāo)簽頁面中顯示了一系列的應(yīng)用程序項(xiàng)目類型;選擇MFC AppWizard(exe)的項(xiàng)目類型,將項(xiàng)目工作文件夾定位在“C:\USERS\ADMINISTRATOR\DESKTOP\VC++\DW”,并在“Project name”編輯框中輸入項(xiàng)目名DW,如圖1所示。</p><p><b> 圖1 新建工程</b&
4、gt;</p><p> ?。?)單擊 “確定”按鈕,出現(xiàn)如圖2所示的對(duì)話框。并在類型選擇欄選擇選擇“基本對(duì)話框”</p><p> 圖2 選擇所創(chuàng)建的應(yīng)用程序的類型</p><p> ?。?)單擊“下一步”按鈕,出現(xiàn)如圖3所示的對(duì)話框在“對(duì)話框的標(biāo)題是”一欄輸入“班級(jí)信息輸入”。</p><p> 圖3 輸入對(duì)話框的標(biāo)題</p&g
5、t;<p> 完成上述步驟后,可以單擊完成按鈕,或者一直點(diǎn)擊下一步直至完成基本設(shè)置。并出現(xiàn)下圖所示的提示界面。</p><p> 圖4 完成基本設(shè)置后的提示信息</p><p> 單擊確定按鈕,進(jìn)入如下界面: </p><p><b> 圖5 主對(duì)話框</b></p><p> 2.2控件選擇及設(shè)
6、置</p><p> ?。?)打開對(duì)話框網(wǎng)格,參見圖6的控件布局,用編輯器為主對(duì)話框添加如下圖所示的一些控件。</p><p> 圖6主對(duì)話框的控件布局</p><p> ?。?)將鼠標(biāo)到左邊框的IDD_DW_DIALOG處并單擊右鍵,在下拉菜單中選擇插入dialog選項(xiàng)系統(tǒng)彈出如下圖所示的子對(duì)話框。</p><p><b>
7、圖7 子對(duì)話框</b></p><p> ?。?)打開對(duì)話框網(wǎng)格,參見圖8的控件布局,用編輯器為對(duì)話框添加如下圖所示的一些控件。</p><p> 圖8子對(duì)話框的控件布局</p><p> (4)更改各控件的ID和名稱,并添加相關(guān)屬性。如下列各圖所示:</p><p> ?。?)打開ClassWizard的Member Var
8、iable頁面,或者直接按Ctrl+W組合鍵,在Class name中選擇XMDialog,選中所需的控件號(hào),雙擊或者單擊Add Variaable按鈕。依次為下列控件添加成員變量,如圖8所。</p><p> 圖8 為主對(duì)話框的控件添加成員變量</p><p> 同樣的,為子對(duì)話框的控件添加成員變量如圖9所示。</p><p> 圖9 為子對(duì)話框的控件添加成
9、員變量</p><p> ?。?)用MFC ClassWizard為DWDialog類添加WM_INITDIALOG消息映射,并添加下列初始化代碼:</p><p> BOOL CDWDlg::OnInitDialog()</p><p><b> {</b></p><p> CDialog::OnInitDia
10、log();</p><p> // Add "About..." menu item to system menu.</p><p> // IDM_ABOUTBOX must be in the system command range.</p><p> ASSERT((IDM_ABOUTBOX & 0xFFF0) == ID
11、M_ABOUTBOX);</p><p> ASSERT(IDM_ABOUTBOX < 0xF000);</p><p> CMenu* pSysMenu = GetSystemMenu(FALSE);</p><p> if (pSysMenu != NULL)</p><p><b> {</b><
12、;/p><p> CString strAboutMenu;</p><p> strAboutMenu.LoadString(IDS_ABOUTBOX);</p><p> if (!strAboutMenu.IsEmpty())</p><p><b> {</b></p><p> p
13、SysMenu->AppendMenu(MF_SEPARATOR);</p><p> pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);</p><p><b> }</b></p><p><b> }</b></p>
14、<p> // Set the icon for this dialog. The framework does this automatically</p><p> // when the application's main window is not a dialog</p><p> SetIcon(m_hIcon, TRUE);// Set
15、big icon</p><p> SetIcon(m_hIcon, FALSE);// Set small icon</p><p> // TODO: Add extra initialization here</p><p> return TRUE; // return TRUE unless you set the focus to a co
16、ntrol</p><p><b> }</b></p><p> 圖10 為DWDialog類添加WM_INITDIALOG消息映射</p><p> (7)在文件DWDlg.cpp的前面添加DWDialog的包含語句:</p><p> #include "DWDlg.h"</p&g
17、t;<p> #include "add.h"</p><p> ?。?)用MFC ClassWizard 為CDWDlg 增加IDC_ Combo1 控件的CBN_EDITCHANGE消息映射,并添加下列代碼:</p><p> void CDWDlg::OnSelchangeCombo1() </p><p><b&g
18、t; {</b></p><p> int index=m_classnb.GetCurSel ();</p><p> CString infor=*(CString*)m_classnb.GetItemDataPtr (index);</p><p> m_classmessage.ResetContent ();</p>&l
19、t;p> m_classmessage.AddString(infor);</p><p><b> }</b></p><p> (9)用MFC ClassWizard 為CDWDlg 增加IDOK控件的BN_CLICKED消息映射,并添加下列代碼:</p><p> void CDWDlg::OnOK() </p>
20、;<p><b> {add a;</b></p><p> if(a.DoModal ()==IDOK)</p><p><b> {</b></p><p> CString id="";</p><p> CString infor="&
21、quot;;</p><p> FILE* f=fopen("recordinfor.txt","r");</p><p> FILE* fp=fopen("recordid.txt","r");</p><p> while(!feof(f))</p><p&
22、gt; {infor+=fgetc(f);}</p><p> while(!feof(fp))</p><p> {id+=fgetc(fp);}</p><p> fclose(f);</p><p> fclose(fp);</p><p> int index;</p><p&g
23、t; index=m_classnb.AddString(id);</p><p> m_classnb.SetItemDataPtr (index,new CString(infor));</p><p><b> }</b></p><p> UpdateData(true);</p><p> //CDi
24、alog::OnOK();</p><p><b> }</b></p><p> ?。?0)用MFC ClassWizard 為add 增加IDOK 控件的BN_CLICKED消息映射,并添加下列代碼:</p><p> void add::OnOK() </p><p><b> {</b>
25、;</p><p> UpdateData(true);</p><p> CString infor="";</p><p> CString id="";</p><p> id=m_classnumber;</p><p> infor+="班級(jí)名稱:&
26、quot;;</p><p> infor+=m_classname;</p><p> infor+="\r\n";</p><p> infor+="女生人數(shù):";</p><p> infor+=m_gnumber;</p><p> infor+="\
27、r\n";</p><p> infor+="班級(jí)人數(shù):";</p><p> infor+=m_snumber;</p><p> CDialog::OnOK();</p><p> FILE* f=fopen("recordinfor.txt","w+");&l
28、t;/p><p> for(int i=0;i<strlen(infor);i++)</p><p> fputc(infor[i],f);</p><p> fclose(f);</p><p> FILE* fp=fopen("recordid.txt","w+");</p>
29、<p> for(i=0;i<strlen(id);i++)</p><p> fputc(id[i],fp);</p><p> fclose(fp);</p><p> MessageBox("恭喜添加成功!");</p><p> CDialog::OnOK();</p>
30、<p><b> }</b></p><p><b> 3.調(diào)試和運(yùn)行</b></p><p> 調(diào)試成功后的結(jié)果如下圖所示,單擊添加按鈕,就會(huì)彈出子對(duì)話框,在子對(duì)話框中輸入班級(jí)信息。</p><p><b> 圖11編譯運(yùn)行結(jié)果</b></p><p>
31、圖12 輸入班級(jí)信息</p><p> 在輸入完一組數(shù)據(jù)后單擊確定,會(huì)彈出小窗口提示添加成功。</p><p><b> 圖13 提示框口</b></p><p> 所有班級(jí)信息添加完之后,單擊主對(duì)話框班級(jí)號(hào)欄的組合框會(huì)顯示所有以輸入信息班級(jí)的班級(jí)號(hào),選擇02號(hào)班級(jí),主對(duì)話框的列表框就會(huì)顯示該班級(jí)的全部信息。</p><
32、;p> 圖14 列表框顯示選中班級(jí)的信息</p><p><b> 心得體會(huì)</b></p><p> VC++課程設(shè)計(jì)的塵囂漸漸遠(yuǎn)去,懷著對(duì)這次設(shè)計(jì)的些許不舍,懷著對(duì)當(dāng)初課程設(shè)計(jì)開始時(shí)候的豪情萬丈的決心的留戀,通過這次課程設(shè)計(jì)積累的信心與斗志,心里感慨萬千。</p><p> 現(xiàn)在回顧兩個(gè)星期以前,當(dāng)一個(gè)星期前的現(xiàn)在,當(dāng)看到老師
33、布置給我們的這些題目時(shí),我們都蒙了,這么難的題目我們?cè)趺纯赡軙?huì)編出來啊,可是埋怨是沒有用的,我們只能盡我們自己最大的努力把程序給寫出來,雖然知道這一路肯定是異常的艱苦,但豁出去了。</p><p> 上網(wǎng)查資料是我們邁開的第一步,看是否有類似的題目,可是泡了幾個(gè)小時(shí)的網(wǎng)吧還是沒有,我們失望而回.但是恍然一想,找學(xué)姐,學(xué)長(zhǎng)們傳授點(diǎn)經(jīng)驗(yàn)啊,但是最終還是空手而歸.我們真的有點(diǎn)絕望了,但是由于我們此刻有著年輕人的激情,
34、沖動(dòng),火力,想了一想,求天求地求人不如求自己,所以我們決定大家在一起共同努力,分配任務(wù)去圖書館查找資料. 肯定沒有現(xiàn)成的,我們只能查相關(guān)的函數(shù),經(jīng)過兩三天的努力,我們把框架弄出來了,可是還有計(jì)算和閃爍這兩大難題擺在我們面前,真的是個(gè)難題,自從把框架弄好了以后就沒有進(jìn)展了,眼看幾天都快過了,我們那個(gè)急啊,可是急也沒有用。我們相信我們幾個(gè)人總歸可以搞定,這是我們可以堅(jiān)持到現(xiàn)在的信念.后來我們不停地總結(jié)過去走過的彎路,回想上課時(shí)老師怎么教我們
35、構(gòu)建一個(gè)程序,要想構(gòu)建一個(gè)程序,必須要有一個(gè)完整的想法,算法,大概的腦海路徑,才能完整地創(chuàng)建一個(gè)程序.</p><p> 經(jīng)過一個(gè)星期的學(xué)習(xí),使我對(duì)VC語言有了更進(jìn)一步的認(rèn)識(shí)和了解,要想學(xué)好它要重在實(shí)踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,通過實(shí)踐,我也發(fā)現(xiàn)我的好多不足之處,首先是自己在指法上還不行,經(jīng)常按錯(cuò)字母,通過學(xué)習(xí)也有所改進(jìn);再有對(duì)VC語言的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,還
36、有對(duì)VC語言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,通過實(shí)踐,使我在這幾個(gè)方面的認(rèn)識(shí)有所提高。 與其臨淵羨魚,不如退而結(jié)網(wǎng)。這次課程設(shè)計(jì)給我的最大的印象就是如果自己有了興趣,就動(dòng)手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個(gè)設(shè)計(jì)開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對(duì)知識(shí)的渴望,出于對(duì)新技術(shù)的好奇,出于對(duì)一切未知的求知。我完成了這次課程設(shè)計(jì),不過這只是我學(xué)習(xí)路上的驛站,我會(huì)繼續(xù)學(xué)習(xí)它,語言本來就
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- vc++課程設(shè)計(jì)報(bào)告
- vc++軟件課程設(shè)計(jì)報(bào)告
- vc++庫函數(shù)課程設(shè)計(jì)
- vc++課程設(shè)計(jì)報(bào)告----對(duì)抗游戲
- vc++課程設(shè)計(jì)-- 餐飲管理系統(tǒng)
- vc++課程設(shè)計(jì)--工資管理
- vc++課程設(shè)計(jì)報(bào)告--對(duì)抗游戲
- vc++網(wǎng)絡(luò)聊天軟件課程設(shè)計(jì)
- vc++課程設(shè)計(jì)--工資管理
- vc++課設(shè)課程設(shè)計(jì)報(bào)告
- vc++課程設(shè)計(jì)報(bào)告---球員管理系統(tǒng)
- VC++課程設(shè)計(jì)--工資管理.doc
- vc++火車票信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- vc++課程設(shè)計(jì)----用winsock實(shí)現(xiàn)聊天
- vc++課程設(shè)計(jì)《算術(shù)表達(dá)式》
- 同學(xué)錄系統(tǒng)vc++課程設(shè)計(jì)
- vc++課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告---對(duì)抗游戲
- vc++課程設(shè)計(jì)報(bào)告---橫向繪制余弦曲線
- vc++課程設(shè)計(jì)~大量例題供你學(xué)習(xí)
- vc++課程設(shè)計(jì)--基于mfc的模擬時(shí)鐘
評(píng)論
0/150
提交評(píng)論