MFC嚮導頁面的補充介紹

2021-07-16 19:32:09 字數 2774 閱讀 3612

一.刪除嚮導頁面上指定的按鈕。

1.刪除幫助按鈕。

this->m_psh.dwflags &= ~psh_hashelp;//給屬性表新增

***page->m_psp.dwflags &= ~psp_hashelp;//給屬性頁新增

***page->m_psp.dwflags &= ~psp_hashelp;//給屬性頁新增

***page->m_psp.dwflags &= ~psp_hashelp;//給屬性頁新增

在屬性頁類的標頭檔案中新增屬性表變數,然後在onsetactive()函式中新增

tmpsheet = (cpropertysheet*)getparent();

tmpsheet->setwizardbuttons(pswizb_cancel|pswizb_next);

引數pswizb_cancel、pswizb_back、pswizb_next、pswizb_finish分別對應上面的四個按鈕,想要刪除哪個按鈕在setwizardbuttons函式中去掉即可。

補充:仍然要在下面設定位置的時候對刪除的按鈕進行位置設定,最後乙個引數設為swp_showwindow,不然仍然會顯示灰掉的按鈕。

pwnd = tmpsheet->getdlgitem(id_wizback);

pwnd->setwindowpos(null,xpos-205,ypos,0,0,swp_showwindow);

在屬性頁類的標頭檔案中新增屬性表變數,然後在onsetactive()函式中新增::setdlgitemtextw((hwnd)*tmpsheet,id_wiznext,_t("次へ"));

引數idcancel、id_wizback、id_wiznext、id_wizfinish分別對應上面的四個按鈕,想要更改哪個按鈕名修改第

二、三個引數即可。

在onsetactive()函式中新建crect變數,通過屬性表變數的getclientrect(crect*)函式獲取原始座標點,然後新建cwnd指標變數,通過屬性表變數的getdlgitem(int)變數獲取idcancel、id_wizback、id_wiznext、id_wizfinish相應的按鈕,再通過cwnd變數的setwindowpos函式設定對應按鈕的位置。

手動新增oncancel()函式,在對話方塊類嚮導的虛函式中選擇onwizardback()、onwizardnext()、onwizardfinish()函式,然後在函式中新增相關操作即可。

在屬性頁類的標頭檔案中新增屬性表變數,新建cwnd指標變數,通過屬性表變數的getdlgitem(int)變數獲取idcancel、id_wizback、id_wiznext、id_wizfinish相應的按鈕,再通過cwnd變數的enablewindow函式設定按鈕狀態。

舉例**:

標頭檔案:

class ***dlg : public cpropertypage

;protected:

virtual void dodataexchange(cdataexchange* pdx);    // ddx/ddv support

declare_message_map()

private:

void setnextbtnstatus();

void initializewizardbtns();

private:

cpropertysheet *tmpsheet;

cwnd *pwnd;

};cpp檔案:

implement_dynamic(***dlg, cpropertypage)

***dlg::***dlg()

: cpropertypage(***dlg::idd)

bool ***dlg::oninitdialog()

bool ***dlg::onsetactive()

lresult ***dlg::onwizardnext()

//initialize wizard buttons.

void ***dlg::initializewizardbtns()

::setdlgitemtextw((hwnd)*tmpsheet,id_wizback,_t("戻る"));

::setdlgitemtextw((hwnd)*tmpsheet,id_wiznext,_t("次へ"));

::setdlgitemtextw((hwnd)*tmpsheet,idcancel,_t("キャンセル"));

crect wizardrect;

tmpsheet->getclientrect(&wizardrect);

const int xpos = wizardrect.right;

const int ypos = wizardrect.bottom - 35;

pwnd = tmpsheet->getdlgitem(idcancel);

pwnd->setwindowpos(null,xpos-295,ypos,80,20,swp_nosize);

pwnd = tmpsheet->getdlgitem(id_wizback);

pwnd->setwindowpos(null,xpos-205,ypos,76,24,swp_showwindow);

pwnd = tmpsheet->getdlgitem(id_wiznext);

pwnd->setwindowpos(null,xpos-115,ypos,80,20,swp_nosize);

}//set the status of the next button.

void ***dlg::setnextbtnstatus()

Web頁面的字型介紹

一 網頁常用字型通常分為5類 serif 襯線 字型在字元筆畫末端有叫做襯線的小細節,這些細節在大寫字母中特別明顯。sans serif 無襯線 字型在字元筆畫末端沒有任何細節,與serif字型相比,他們的外形更簡單。fantasy 夢幻 cuisive 草體 字型在瀏覽器中不常用,在各個瀏覽器中有...

如何跨站抓取別的站點的頁面的補充

在實際的應用中,經常會遇到一些特殊的情況,程式設計客棧比如需要新聞,天氣預報,等等,但是作為個人站點或者實力小的站點 我們不可能有那麼多的人力 物力 財力去做這些事情,怎麼辦呢?好在網際網路是 資源共享的,我們www.cppcns.com可以利用程式 自動的把別的站點的頁面抓取回來經過處理後被我們所...

前端知識補充說明之瀏覽器渲染頁面的過程

二 總結 說明瀏覽器接收到 後進行解析,經過三大步驟 dom構造 布局以及繪製頁面,最終展現為人人都能看懂的網頁。瀏覽器首先將收到的html 通過html解析器解析構建為一顆dom樹。資料結構中有許多的樹,而dom樹就像是一顆倒長著的大樹,這樣的物件模型決定了節點之間都有一定的關聯它們關係可能有父子...