本節將介紹壹般屬性頁對話框的創建和顯示。
實際上,壹般屬性頁對話框的創建和顯示過程和向導對話框是很類似的。雞啄米將上壹節中的向導對話框進行少量修改,使其成為壹般屬性頁對話框。
壹般屬性頁對話框的創建步驟:
1.創建屬性頁對話框資源
屬性頁對話框資源的創建方法同向導對話框是壹樣的,上壹講中的對話框資源不需進行任何修改。
2.創建屬性頁類
屬性頁類的創建和向導對話框的屬性頁類也基本壹樣,只是壹般屬性頁對話框中不需要“下壹步”和“完成”等按鈕,所以上壹講中屬性頁類的OnSetActive和OnWizardFinish等重載函數可以去掉。即CSummandPage類中的OnSetActive函數、CAddPage類中的OnSetActive函數和OnWizardFinish函數可以刪除或註釋掉。其他部分不需作任何修改。
3.創建屬性表類
創建屬性表類的過程同向導對話框屬性表類也是壹樣的,所以上壹講中的CAddSheet類不需修改。
4.顯示壹般屬性頁對話框
上壹講向導對話框的顯示是在OnBnClickedInstructButton函數中實現的,其中語句sheet.SetWizardMode();旨在設置屬性表為向導對話框模式,所以顯示壹般屬性頁對話框時不需調用SetWizardMode成員函數。另外,我們可以將屬性頁對話框的標題設為“使用說明”,在構造屬性表對象時將此字符串作為構造函數的參數傳入。OnBnClickedInstructButton函數修改如下:
C++代碼
void CAdditionDlg::OnBnClickedInstructButton()
{
// TODO: Add your control notification handler code here
// 創建屬性表對象
CAddSheet sheet(_T("使用說明"));
// 打開模態壹般屬性頁對話框
sheet.DoModal();
}
這樣壹般屬性頁對話框的創建和顯示就講完了,我們運行下程序,在結果對話框上點“使用說明”按鈕看看效果吧: