




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第案例三十通訊錄本案例知識(shí)要點(diǎn)文件操作對(duì)話框設(shè)計(jì)CListCtrl的使用第一、案例需求案例描述使用C++輸入/輸出流設(shè)計(jì)一個(gè)基于對(duì)話框的通訊錄,用于編輯和保存用戶的姓名、電話和E-mail信息。案例效果圖本案例的效果如圖(a)和圖(b)所示。第(a)“輸入信息”對(duì)話框(b)“通訊錄”對(duì)話框第功能說(shuō)明插入記錄:用于輸入個(gè)人信息,包括姓名、電話和E-mail。刪除記錄:用于刪除一條選定的記錄。修改記錄:用于修改個(gè)人信息。保存記錄:用于將個(gè)人信息寫(xiě)入文件。導(dǎo)入:用于將個(gè)人信息從文件中導(dǎo)入。退出:退出應(yīng)用程序。第二、案例分析根據(jù)案例需求,需要利用MFC環(huán)境定義一個(gè)對(duì)話框類,提供程序的初始界面,其中包括一個(gè)列表控件用于顯示通訊錄的信息,同時(shí)還包括【插入記錄】單擊、【刪除記錄】單擊、【修改記錄】按鈕、【保存記錄】按鈕、【導(dǎo)入數(shù)據(jù)】按鈕和【退出】按鈕;另外定義了一個(gè)用于插入記錄和修改記錄的對(duì)話框,其中包括用于編輯通訊錄信息的文本框等控件。案例的核心是列表控件的使用,記錄的插入、刪除、修改、判斷是否為空等功能都直接利用了列表控件本身的方法。案例沒(méi)有使用數(shù)據(jù)庫(kù)進(jìn)行系統(tǒng)的開(kāi)發(fā),記錄的保存是基于輸入/輸出流使用文件實(shí)現(xiàn)了信息的存儲(chǔ)。第三、案例設(shè)計(jì)1.“通訊錄”對(duì)話框的設(shè)計(jì)從控件列表框中【選擇】按鈕控件和列表控件置于對(duì)話框上,【修改】按鈕控件的屬性,其設(shè)計(jì)結(jié)果如圖所示。第對(duì)話框的設(shè)計(jì)結(jié)果第在“查看”菜單中選擇ClassWizard命令,在打開(kāi)的對(duì)話框中切換到MemberVariable選項(xiàng)卡。選中列表控件的IDC_LIST1,單擊【AddVariable】按鈕,添加成員變量的名稱為m_list,類型為CListCtrl,單擊【OK】按鈕返回,設(shè)計(jì)結(jié)果如圖所示。第對(duì)話框類成員變量的設(shè)計(jì)結(jié)果第在文件視圖FileView中單擊SourceFiles目錄,雙擊Example5Dlg.cpp選項(xiàng)打開(kāi)該文件。在文件中找到OnInitDialog()函數(shù),在//TODO:Addextrainitializationhere的提示下,添加以下代碼:m_list.ModifyStyle(0,LVS_REPORT); //修改顯示風(fēng)格
m_list.InsertColumn(0,"姓名",LVCFMT_CENTER,70,NULL); //添加“姓名”列
m_list.InsertColumn(1,"電話",LVCFMT_CENTER,100,NULL); //添加“電話”列
m_list.InsertColumn(2,"Email",LVCFMT_CENTER,150,NULL); //添加“Email”列第2.“輸入信息”對(duì)話框設(shè)計(jì)添加對(duì)話框,雙擊該對(duì)話框,創(chuàng)建一個(gè)新類,添加類名為Inputdlg,如圖所示。創(chuàng)建輸入對(duì)話框類1第在“查看”菜單中選擇ClassWizard命令,在打開(kāi)的對(duì)話框中切換到MemberVariable選項(xiàng)卡。選中列表控件的IDC_EDIT1選項(xiàng),單擊【AddVariable】按鈕,添加Membervariablename為m_name,類型為CString,單擊【OK】按鈕返回,依次處理IDC_EDIT2、IDC_EDIT3,最終設(shè)計(jì)結(jié)果如圖所示。第輸入對(duì)話框設(shè)計(jì)結(jié)果第在“通訊錄”對(duì)話框中,雙擊【插入記錄】按鈕,彈出對(duì)話框,如圖所示,保持函數(shù)名默認(rèn)值為OnBUTTONinsert(),單擊【OK】按鈕進(jìn)行代碼編輯。依此類推,處理其他按鈕。添加成員函數(shù)第
(1)【插入記錄】按鈕的成員函數(shù)為:
voidCExample5Dlg::OnBUTTONinsert()
(2)【刪除記錄】按鈕的成員函數(shù)為:
voidCExample5Dlg::OnBUTTONdelete()
(3)【修改記錄】按鈕的成員函數(shù)為:
voidCExample5Dlg::OnBUTTONmodify()
(4)【保存記錄】按鈕的成員函數(shù)為:
voidCExample5Dlg::OnBUTTONsave()
(5)【導(dǎo)入】按鈕的成員函數(shù)為:
voidCExample5Dlg::OnBUTTONload()第四、案例實(shí)現(xiàn)第第第第第第第第第第第第第第第第第第第第第第第第第第第第第五、案例總結(jié)與提高案例總結(jié)本案例重點(diǎn)在于ListView控件的使用,如果讀者感覺(jué)有難度,那么只要理解【插入記錄】按鈕和【導(dǎo)入】按鈕函數(shù)的實(shí)現(xiàn)就可以了,要認(rèn)真體會(huì)本案例是如何讀入和存儲(chǔ)數(shù)據(jù)的。本案例在輸入個(gè)人信息時(shí),在Email的EDIT控件中檢查了是否有“@”字符的存在。通訊錄是以book.txt文件保存在當(dāng)前目錄下的,請(qǐng)讀者打開(kāi)觀看,同時(shí)也可以直接在book.txt文件中添加人員,并
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年售電業(yè)務(wù)考核試題及答案
- 2025年工廠安全考試題及答案
- 2025年溫州英語(yǔ)中考試題及答案
- 2025年關(guān)于海底的測(cè)試題及答案
- 2025年高中生社會(huì)試題及答案
- 2025年樂(lè)高大積木測(cè)試題及答案
- 2025年西城中考生物試題及答案
- 2025年法理學(xué)接本試題及答案
- LabVIEW軟件在安裝過(guò)程中的各種問(wèn)題以及解決辦法-lab
- 2025年護(hù)理類職業(yè)測(cè)試題及答案
- 用地性質(zhì)分類表
- T-HNCAA 021-2020 蒸壓加氣混凝土砌塊單位產(chǎn)品綜合能耗限額和計(jì)算方法
- 電子技術(shù)基礎(chǔ)(數(shù)字部分 第五版 康華光)華中科大課件 第
- 公路工程概論全套課件
- 缺血性卒中和短暫性腦缺血發(fā)作的二級(jí)預(yù)防課件
- 貫入法砌筑砂漿抗壓強(qiáng)度檢測(cè)記錄
- 中醫(yī)外科學(xué)瘡瘍課件
- 互通立交的安全性評(píng)價(jià)要點(diǎn)與案例介紹
- 居住區(qū)規(guī)劃設(shè)計(jì)講解及案例分析課件
- 生物技術(shù)在園藝植物育種中的應(yīng)用課件
- Revit軟件基礎(chǔ)入門課件(很詳細(xì))
評(píng)論
0/150
提交評(píng)論