1. 類cpropertypage 是從cdiaglog中派生出來的,具有diaglog的基本性質,需要注意的是它的樣式必須是child。
2. 類cpropertysheet 是乙個屬性表,也是乙個窗體,相當乙個容器,用來存放所有的cpropertypage。它不是 從cdialog 派生出來的,但是它可以象普通對話方塊類似的操作, 如domodal(),當用 domodal()顯示 後,它就包含了「取消」、「上一步」、「下一步」 等基本按鈕。
下面給出乙個例項
② 在自動生成 的dialog 資源中加入乙個按鈕idc_benginwiz 用來啟動嚮導。
③ 建立 cpropertypage。新建dialog 資源,命名為idd_step1,注意一定要將新建對話方塊的style屬性設定成child 和邊界屬性設定為thin,並且不要生成乙個新類。
用classwizard 生成乙個新類,命名為cstep1,基類為cpropertypage,且將dialog id 設定為剛生成的資源idd_step1。這樣就生成了乙個新屬性頁step1。如此操作就可以 同樣生成step2、step3 屬性頁。為了方便顯示,在每個對話方塊都放置了乙個控制項,用來表示當前是哪一步。
④ 建立 cpropertysheet。新建乙個類,命名為cwizard,基類為cpropertysheet。並將屬性頁和屬性表關聯起來。**為
//將**放在按鈕idc_beginwiz的click事件中
cwizard mywizard(_t( "我的嚮導 "),this,1); //生成乙個屬性表
cstep1 mystep1; //屬性頁1
cstep2 mystep2; //屬性頁2
cstep3 mystep3; //屬性頁3
mywizard.addpage(&mystep1); //新增屬性頁1
mywizard.addpage(&mystep2); //新增屬性頁2
mywizard.addpage(&mystep3); //新增屬性頁3
mywizard.setwizardmode(); //將屬性表設定成嚮導樣式
mywizard.setactivepage(&mystep1); //設定第一頁為第一步
mywizard.domodal(); //顯示屬性表
⑤協調顯示。在每一頁為當前頁時,都會觸發onsetactive事件,故對每乙個屬性頁都要過載該函式,在cstep1類上選擇add virtual function ...。因為顯示第一頁時,不存在「上一步」,故在cstep1的 onsetactive函式中需要新增如下**: //**放在onsetactive函式中
cpropertysheet* pparent=(cpropertysheet*)getparent(); // 獲得屬性表的指標
pparent-> setwizardbuttons(pswizb_next); // 設定屬性表的顯示按鈕只為下一步
setdlgitemtext(idc_text1, "這是嚮導的第一步 ");
同樣在顯示中間頁時應該設定成即有「上一步」,也有「下一步」,**為: cpropertysheet* pparent=(cpropertysheet*)getparent();
pparent-> setwizardbuttons(pswizb_next|pswizb_back);
setdlgitemtext(idc_text2, "這是嚮導的第二步 ");
最後在顯示最後一頁時只顯示「完成」和「上一步」,**為: cpropertysheet* pparent=(cpropertysheet*)getparent();
pparent-> setwizardbuttons(pswizb_finish|pswizb_back);
setdlgitemtext(idc_text3, "這是嚮導的第三步 ");
Winform中模仿實現上一步 下一步的導航頁面
經常看到有人詢問在winform中怎麼實現類似安裝嚮導那樣的上一步 下一步的頁面,這個如果在asp.net中實現起來比較簡單,無非就是多個panel交替顯示罷了,可是在winform中控制起來就沒有那麼容易了,本人用tabcontrol做了乙個簡單實現,可以滿足一般的要求,具體實現過程如下 1.新建...
功能點 頁面資料彙總 上一步 下一步
適用場景 業務邏輯 第一步 將頁面資料儲存在快取中 第乙個頁面 this.choosedates表示 收集的頁面資料 this choosedates.男 this choosedates.age 18 localstorage.setitem student json stringify this...
PMON的下一步
現在pmon最大的問題就是不夠穩定,經常出些小問題。因為 比較亂,所以查詢起問題來越來越困難。公司的一些底層開發人員也一直有將龍芯的bootloader移植到uboot上來的打算,但時間太緊,一時又沒法完成這個任務,因此這個事情就一拖再拖了,到現在幾乎一年。看了整個的pmon 覺得其實真有必要好好整...