vs2010mfc編程入門之十三(對(duì)話框:屬性頁對(duì)話框及相關(guān)類的介紹)

vs2010mfc編程入門之十三(對(duì)話框:屬性頁對(duì)話框及相關(guān)類的介紹)

ID:6073640

大?。?6.83 KB

頁數(shù):7頁

時(shí)間:2018-01-02

vs2010mfc編程入門之十三(對(duì)話框:屬性頁對(duì)話框及相關(guān)類的介紹)_第1頁
vs2010mfc編程入門之十三(對(duì)話框:屬性頁對(duì)話框及相關(guān)類的介紹)_第2頁
vs2010mfc編程入門之十三(對(duì)話框:屬性頁對(duì)話框及相關(guān)類的介紹)_第3頁
vs2010mfc編程入門之十三(對(duì)話框:屬性頁對(duì)話框及相關(guān)類的介紹)_第4頁
vs2010mfc編程入門之十三(對(duì)話框:屬性頁對(duì)話框及相關(guān)類的介紹)_第5頁
資源描述:

《vs2010mfc編程入門之十三(對(duì)話框:屬性頁對(duì)話框及相關(guān)類的介紹)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、前面講了模態(tài)對(duì)話框和非模態(tài)對(duì)話框,本節(jié)開始雞啄米講一種特殊的對(duì)話框--屬性頁對(duì)話框。另外,本套教程所講大部分對(duì)VC++各個(gè)版本均可適用或者稍作修改即可,但考慮到終究還是基于VS2010版本的,所以將《VC++/MFC編程入門》改為《VS2010/MFC編程入門》。???????屬性頁對(duì)話框的分類??????屬性頁對(duì)話框想必大家并不陌生,XP系統(tǒng)中桌面右鍵點(diǎn)屬性,彈出的就是屬性頁對(duì)話框,它通過標(biāo)簽切換各個(gè)頁面。另外,我們?cè)趧?chuàng)建MFC工程時(shí)使用的向?qū)?duì)話框也屬于屬性頁對(duì)話框,它通過點(diǎn)擊“Next”等按鈕來切換頁面。???????屬性頁對(duì)話框就

2、是包含一般屬性頁對(duì)話框和向?qū)?duì)話框兩類。它將多個(gè)對(duì)話框集成于一身,通過標(biāo)簽或按鈕來切換頁面。???????屬性頁對(duì)話框相關(guān)類??????我們使用屬性頁對(duì)話框時(shí),用到的類主要有兩個(gè):CPropertyPage類和CPropertySheet類。???????1.CPropertyPage類???????CPropertyPage類繼承自CDialog類,它被用于處理某單個(gè)的屬性頁,所以要為每個(gè)屬性頁都創(chuàng)建一個(gè)繼承自CPropertyPage的子類。大家可以在VS2010的MSDN中查找CPropertyPage類以及它的成員的詳細(xì)說明。下面

3、雞啄米就為大家講解MSDN中列出的CPropertyPage類的部分主要成員函數(shù)。??????(1)構(gòu)造函數(shù)???????這里講三個(gè)CProperty類的構(gòu)造函數(shù),函數(shù)原型為:???????CPropertyPage();???????explicitCPropertyPage(???????????????UINTnIDTemplate,???????????????UINTnIDCaption=0,???????????????DWORDdwSize=sizeof(PROPSHEETPAGE)????????);????????exp

4、licitCPropertyPage(???????????????LPCTSTRlpszTemplateName,???????????????UINTnIDCaption=0,???????????????DWORDdwSize=sizeof(PROPSHEETPAGE)????????);???????第一個(gè)是沒有任何參數(shù)的構(gòu)造函數(shù)。???????第二個(gè)構(gòu)造函數(shù)中,參數(shù)nIDTemplate是屬性頁的對(duì)話框資源ID,參數(shù)nIDCaption是屬性頁對(duì)話框選項(xiàng)卡的標(biāo)題所用字符串資源的ID,若設(shè)為0,則選項(xiàng)卡標(biāo)題就使用該屬性頁的對(duì)話框資

5、源的標(biāo)題。???????第三個(gè)構(gòu)造函數(shù)中,參數(shù)lpszTemplateName為屬性頁的對(duì)話框資源的名稱字符串,不能為NULL。參數(shù)nIDCaption同上。??????(2)CancelToClose()函數(shù)??????在模態(tài)屬性頁對(duì)話框的屬性頁進(jìn)行了某不可恢復(fù)的操作后,使用CancelToClose()函數(shù)將“OK”按鈕改為“Close”按鈕,并禁用“Cancel”按鈕。函數(shù)原型為:???????voidCancelToClose();??????(3)SetModified()函數(shù)???????調(diào)用此函數(shù)可激活或禁用“Apply”按

6、鈕,函數(shù)原型為:???????voidSetModified(BOOLbChanged=TRUE);??????(4)可重載函數(shù)???????CPropertyPage類提供了一些消息處理函數(shù),來響應(yīng)屬性頁對(duì)話框的各種消息。我們重載這些消息處理函數(shù),就可以自定義對(duì)屬性頁對(duì)話框操作的處理??芍剌d的消息處理函數(shù)包括:??????OnApply:處理屬性頁的“Apply”按鈕被單擊的消息??????OnCancel:處理屬性頁的“Cancel”按鈕被單擊的消息??????OnKillActive:處理屬性頁當(dāng)前活動(dòng)狀態(tài)被切換的消息,常用于數(shù)據(jù)驗(yàn)

7、證??????OnOK:處理屬性頁的“OK”按鈕、“Apply”按鈕或者“Close”按鈕被單擊的消息??????OnQueryCancel:處理屬性頁的“Cancel”按鈕被單擊前發(fā)出的消息??????OnReset:處理屬性頁的“Reset”按鈕被單擊的消息??????OnSetActive:處理屬性頁被切換為當(dāng)前活動(dòng)頁的消息??????OnWizardBack:處理屬性頁的“Back”按鈕被單擊的消息,僅在向?qū)?duì)話框中有效??????OnWizardFinish:處理屬性頁的“Finish”按鈕被單擊的消息,僅在向?qū)?duì)話框中有效??

8、????OnWizardNext:處理屬性頁的“Next”按鈕被單擊的消息,僅在向?qū)?duì)話框中有效???????2.CPropertySheet類???????CPropertySheet類繼承

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。