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

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

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

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

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

       2.創建屬性頁類

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

       3.創建屬性表類

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

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

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

C++代碼
  1. void CAdditionDlg::OnBnClickedInstructButton()   
  2. {   
  3.     // TODO: Add your control notification handler code here   
  4.   
  5.     // 創建屬性表對象   
  6.     CAddSheet sheet(_T("使用說明"));   
  7.        
  8.     // 打開模態一般屬性頁對話框   
  9.     sheet.DoModal();   
  10. }  

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

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

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

       是不是一般屬性頁對話框的創建和顯示也很簡單?到此,屬性頁對話框就講完了。雞啄米歡迎大家繼續關注后面的內容。

除非特別注明,雞啄米文章均為原創
轉載請標明本文地址:http://www.028keji.com/software/169.html
2012年5月1日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:22