屬性表單與嚮導

 

 

▲創建屬性表單

1.創建屬性頁

在資源視圖中選擇插入菜單,在插入資源對話框中展開Dialog項,其中提供三種大小的屬性頁資源,選擇其中一種規格的屬性頁 (IDD_PROPPAGE_LARGE)插入到工程資源中,根據屬性表單中屬性頁的數量,插入相同數量的屬性頁到工程資源中

2.在屬性頁上右鍵菜單的屬性中修改每個屬性頁的ID(IDD_PROP1),Caption(page1),在資源視圖列表中屬性頁右鍵菜單的屬性中修改每個屬性頁的語言(Chinese [P.R.C])。Caption決定屬性頁標籤上顯示的文字,語言決定該頁的文字編碼。

3. 打開類嚮導,新建一個類,填寫類名(CPorp1),選擇基類爲CPropertyPage,選擇ID(IDD_PROP1)。根據屬性頁的數量添加相同數量的類。

4.打開類嚮導,新建一個類,填寫類名(CPropSheet),選擇基類爲CPropertySheet。

5.爲CPropSheet類增加成員變量

CPorp1 prop1      //屬性頁對象

...                         //添加與屬性頁數量相同的屬性頁對象

6.在CPropSheet類的構造函數中添加代碼

AddPage(&m_prop1)    //將屬性頁對象添加到屬性表單中

...                                  //添加其他屬性頁

7.顯示屬性表單

CPropSheet propsheet(...)           //按指定的標題,類型實例化屬性表單對象

propsheet.DoModal()                  //顯示一個模態的屬性表單

//////////////////////////////////////////////////////////////////////

CPropSheet propsheet(...)          //按指定的標題,類型實例化屬性表單對象

propsheet.Create()                     //創建並顯示一個非模態的屬性表單

 

▲和對話框一樣,屬性表單也分爲模態和非模態兩種類型,應注意非模態屬性表單需要自己調用DestroyWindow()銷燬窗口,非模態屬性表單不會創建按鈕,需要自行創建,如下例:

 

CPropSheet propsheet(...)          //按指定的標題,類型實例化屬性表單對象

CButton button                           //創建按鈕對象

propsheet.Create()                     //創建並顯示一個非模態的屬性表單

 

propsheet.SetWindowPos(...)     //設置屬性表單窗口大小以容納按鈕

button.Create(...&propsheet...)  //創建按鈕並添加進屬性表單窗口

-----------------------------------------------------------------------------------------------------

 

▲創建嚮導

創建嚮導的1~6與創建屬性表單步驟相同

7.顯示嚮導

CPropSheet propsheet(...)           //按指定的標題,類型實例化屬性表單對象

propsheet.SetWizardMode()        //指定爲嚮導模式 

propsheet.DoModal()                  //顯示一個模態的嚮導

//////////////////////////////////////////////////////////////////////

CPropSheet propsheet(...)          //按指定的標題,類型實例化屬性表單對象

propsheet.SetWizardMode()        //指定爲嚮導模式   

propsheet.Create()                     //創建並顯示一個非模態的嚮導

 

▲注意非模態嚮導需要自己調用DestroyWindow()銷燬窗口,非模態屬性表單不會處理點擊按鈕的行爲,需要自行處理

 

▲SetWizardButtons()

設置嚮導中出項哪些按鈕(上一步,下一步,完成...)

 

▲OnSetActive()

CPropertyPage類的成員函數,當在屬性表單或嚮導中,屬性頁被激活時由系統調用該函數,該函數爲虛函數,在子類中可重寫此函數。

 

▲每個屬性頁與屬性表單或嚮導是子窗口與父窗口的關係

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章