版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、對話框和控件王建興對話框和控件的基本概念 對話框(Dialog)實際上是一個窗口。在MFC中,對話框的功能被封裝在了CDialog類中,CDialog類是CWnd類的派生類。 對話框分為模態(tài)對話框和非模態(tài)對話框兩種。 從MFC來看,一個對話框由兩部分組成:對話框模板資源 對話框類 與對話框有關(guān)的消息主要包括:WM_INITDIALOG消息和控件通知消息 對話框和控件的基本概念 控件的基本概念 控件(Control)是獨立的小部件,在對話框與用戶的交互過程中,控件擔(dān)任著主要角色??丶嶋H上都是窗口,所有的控件類都是CWnd類的派生類。控件通常是作為對話框的子窗口而創(chuàng)建的,控件也可以出現(xiàn)在視圖窗口
2、,工具條和狀態(tài)條中。 對話框模板的設(shè)計 【示例示例12-1】 對話框類的設(shè)計 完成對話框模板的設(shè)計后,就需要設(shè)計一個對話框類以實現(xiàn)對話框的功能。設(shè)計對話框類主要包括下面幾步:創(chuàng)建對話框類,該類應(yīng)從CDialog類派生;為對話框類加入與控件相對應(yīng)的成員變量;為對話框進行初始化工作;增加對控件通知消息的處理 對話框類的設(shè)計 為對話框類加入成員變量對話框需要有一組成員變量來存儲數(shù)據(jù)。 與控件對應(yīng)的成員變量即可以是一個數(shù)據(jù),也可以是一個控件對象 不同類的控件對應(yīng)的數(shù)據(jù)變量的類型往往是不一樣的,而且一個控件對應(yīng)的數(shù)據(jù)變量的類型也可能有多種。如表12-3 利用ClassWizard可以很方便地為對話框類C
3、RegisterDialog加入成員變量 。對話框初始化 對話框的初始化工作一般在構(gòu)造函數(shù)和OnInitDialog函數(shù)中完成。在構(gòu)造函數(shù)中的初始化主要是針對對話框的數(shù)據(jù)成員。 可以在OnInitDialog中做一些影響對話框外觀的初始化工作 對話框的數(shù)據(jù)交換機制 MFC提供了類CDataExchange來實現(xiàn)對話框類與控件之間的數(shù)據(jù)交換(DDX),該類還提供了數(shù)據(jù)有效機制(DDV) 。 當(dāng)程序需要交換數(shù)據(jù)時,調(diào)用CWnd:UpdateData。該函數(shù)只有一個布爾型參數(shù),它決定了數(shù)據(jù)傳送的方向。 對話框的運行機制 運行模態(tài)對話框有兩個步驟:在堆棧上以變量的形式構(gòu)建一個對話框?qū)ο?。調(diào)用CDial
4、og:DoModal ( )。 處理控件通知消息 問題有二:登錄完一個人的數(shù)據(jù)后,對話框就關(guān)閉了,若用戶有很多人的數(shù)據(jù)要輸入,則必須頻繁地打開對話框,很不方便。在登錄數(shù)據(jù)時,應(yīng)該使對話框一直處于打開狀態(tài)。登錄數(shù)據(jù)對話框分個人情況和單位情況兩組,若被調(diào)查人是下崗職工,則不必輸入單位情況。 處理控件通知消息 1 1、解決第一個問題。、解決第一個問題。 一種想法是修改原來的“確定(Y)”按鈕,使得當(dāng)用戶點擊該按鈕后,將數(shù)據(jù)輸出到視圖中,并且對話框不關(guān)閉,以便用戶輸入下一個數(shù)據(jù)。2 2、解決第二個問題。、解決第二個問題。解決該問題的關(guān)鍵在于當(dāng)用戶點擊“在職”或“下崗”單選按鈕時,程序要對收到的BN_CLICKED消息作出響應(yīng)。 為了對控件進行查詢和控制,在程序中采用了兩種訪問控件的方法。一種方法是直接利用ClassWizard提供的控件對象,例如m_ctrlIncome列表框?qū)ο蟆A?/p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)稅務(wù)顧問聘請協(xié)議3篇
- 二零二五年度跨境電商進口稅收優(yōu)惠政策合同4篇
- 2025年度網(wǎng)絡(luò)詐騙損失賠償協(xié)議(網(wǎng)絡(luò)安全保障)4篇
- 二零二五年度綜合保稅區(qū)農(nóng)民工就業(yè)服務(wù)協(xié)議4篇
- 2025年安全事故賠償合同
- 2025年增資融資合同
- 2025年度門體維修及施工安裝服務(wù)合同4篇
- 2025年度購物中心珠寶首飾店鋪租賃合同范本
- 2025年魯人版九年級生物上冊月考試卷
- 2025年貴州習(xí)水林旅投資有限公司招聘筆試參考題庫含答案解析
- 2025年上半年江蘇連云港灌云縣招聘“鄉(xiāng)村振興專干”16人易考易錯模擬試題(共500題)試卷后附參考答案
- DB3301T 0382-2022 公共資源交易開評標(biāo)數(shù)字見證服務(wù)規(guī)范
- 人教版2024-2025學(xué)年八年級上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 【人教版化學(xué)】必修1 知識點默寫小紙條(答案背誦版)
- 江蘇省無錫市2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 俄語版:中國文化概論之中國的傳統(tǒng)節(jié)日
- 2022年湖南省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 婦科一病一品護理匯報
- 哪吒之魔童降世
- 2022年上海市各區(qū)中考一模語文試卷及答案
- 2024年全國統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅱ)含答案
評論
0/150
提交評論