MFC編程入門之十五(對話框:一般屬性頁對話框的創建及顯示)


  屬性頁對話框包括向導對話框和一般屬性頁對話框兩類,上一節講了如何創建並顯示向導對話框,本節將繼續介紹一般屬性頁對話框的創建和顯示。

  實際上,一般屬性頁對話框的創建和顯示過程和向導對話框是很類似的。將上一節中的向導對話框進行少量修改,使其成為一般屬性頁對話框。

  一般屬性頁對話框的創建步驟:

  1、創建屬性頁對話框資源

  屬性頁對話框資源的創建方法同向導對話框是一樣的,上一講中的對話框資源不需要進行任何修改。

  2、創建屬性頁類

  屬性頁類的創建和向導對話框的屬性頁類也基本一樣,只是一般屬性頁對話框中不需要“下一步”和“完成”等按鈕,所以上一講中屬性頁類的OnSetActive和OnWizardFinish等重載函數可以去掉。即CSummandPage類中的OnSetActive函數、CAddPage類中的OnSetActive函數和OnWizardFinish函數可以刪除或注釋掉。其他部分不需要做任何修改。

  3、創建屬性列表類

  創建屬性列表類的過程同向導對話框屬性表類是一樣的,所以上一講中的CAddSheet類不需要修改。

  4、顯示一般屬性頁對話框

  上一講中向導對話框的顯示是在OnBnClickedInstructButton函數中實現的,其中語句sheet.SetWizardMode()旨在設置屬性表為向導對話框模式,所以顯示一般屬性頁對話框時不需要調用SetWizardMode成員函數。另外,我們可以將屬性頁對話框的標題設置為“使用說明”,在構造屬性表對話框對象時將此字符串作為構造函數的參數傳入。OnBnClickedInstructButton函數修改如下:

C++代碼:

  這樣一般屬性頁對話框的創建和顯示就講完了,我們運行下程序,在結果對話框上點“使用說明”按鈕看看效果吧:

  再總結下,一般屬性頁對話框和向導對話框的創建和顯示的不同包括,是否需要OnSetActive和OnWizardFinish等重載函數,是否需要調用屬性表類的SetWizardMode函數設置為向導對話框模式。

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com