基本類及其函式簡介

2021-08-07 14:25:09 字數 4966 閱讀 5310

1 bool create(lpcstr lpsztemplatename, cwnd* pparentwnd = null);

bool create(unit nidtemplate, cwnd* pparentwnd = null);

返回值:

如果對話方塊建立和初始化成功,則返回非零值,否則為0。

引數: lpsztemplatename 包含乙個對話方塊模板資源的空終止字串。

pparentwnd 指向含有對話方塊的父視窗物件的指標。如果為null,對話方塊物件的父視窗設定為應用的主視窗。

nidtemplate 包含對話方塊模板資源的id數。

說明:呼叫create,使用資源中對話方塊模板來建立非模態對話方塊。可將呼叫置於構造程式內部或者在構造程式啟動之後呼叫。

create成員函式為訪問對話方塊模板資源提供了兩種方法,既可以通過模板名稱,也可以模板id號(如idd_dialog1)。

每種訪問方法都會給父視窗傳遞乙個指標。如果pparentwnd為null,則應用的主視窗作為其父視窗或所有者視窗來進行建立。當建立對話方塊後,create成員函式應立即返回。

在父視窗中建立之後,如果要求對話方塊出現,則使用模板中的ws_visible風格。否則,必須呼叫showwindow。其它對話方塊風格及應用,請參閱聯機文件「win32 sdk」中的digtemplate結構和「microsoft visual c++ 6.

0 mfc類庫參考手冊(二)」中的「windows風格」。使用cwnd::destroywindow函式來刪除由create函式建立的對話方塊。

2 bool createindirect(lpcdlgtemplate lpdialogtemplate, cwnd* pparentwnd = null);

bool createindirect(hglobal hdialogtemplate, cwnd* pparentwnd = null);

返回值:

如果對話方塊建立和初始化成功,則返回非零值,否則為0。

引數: lpdialogtemplate 包含用於建立對話方塊的對話方塊模板的指標。該模板位於dlgtemplate結構和控制項資訊表單中。

有關該結構的更多資訊,請參閱聯機文件「win32 sdk」。

pparentwnd 指向含有對話方塊的父視窗物件的指標。如果為null,對話方塊物件的父視窗設定為應用的主視窗。

hdialogtemplate 包含對話方塊模板的全域性記憶體的控制代碼。模板使用dlgtemplate結構的形式。

說明:呼叫該成員函式從對話方塊模板中建立乙個非模態對話方塊。當建立對話方塊後,createindirect成員函式立即返回。

在父視窗中建立之後,如果要求對話方塊出現,則使用模板中的ws_visible風格。否則,必須呼叫showwindow。其它對話方塊風格及應用,請參閱聯機文件「win32 sdk」中的diatemplate結構和「microsoft visual c++ 6.

0 mfc類庫參考(二)」中的「windows風格」。使用cwnd::destroywindow函式刪除由createindirect建立的對話方塊。

3 virtual int domodal();

返回值:

整數值,指定了傳遞給cdialog::enddialog 的nresult引數值。該函式用於關閉對話方塊。

如果函式不能建立對話方塊,則返回-1;如果出現其它錯誤,則返回idabort。

說明:呼叫該成員函式使用模態對話方塊並返回對話方塊結果。當對話方塊處於活動狀態時,該函式處理與使用者的互動。這使得對話方塊是模態的,使使用者在關閉對話方塊之前不能與其它窗**互。

如果使用者單擊了對話方塊中的按鈕,如ok或cancel,那麼訊息處理函式如onok或oncancel被呼叫,從而關閉對話方塊。預設的onok成員函式會對對話方塊資料進行有效性檢驗和更新,並關閉它得到結果idok。預設oncancel函式關閉對話方塊得到結果idcancel,而不對對話方塊資料檢驗或更新,可以覆蓋這些訊息函式並改變它們的行為。

注意目前pretransmessage被呼叫來處理模態對話方塊的訊息。

4 void enddialog(int nresult);

引數: nresult 對話方塊返回的值,用於呼叫者domodal。

說明:呼叫該成員函式來中止乙個模態對話方塊。該函式返回nresult。

無論模態對話方塊是何時被建立的,必須使用enddialog來結束處理。可以隨時呼叫enddialog,即使在使用oninitdialog時,即在對話方塊顯示或獲得輸入焦點之前就關閉它。enddialog不會立即關閉對話方塊。

它設定了乙個標記,用以指定在當前訊息處理程式返回時就關閉對話方塊。

5 void gotodlgctrl(cwnd* pwndctrl);

引數: pwndctrl 接收焦點的視窗(控制項)標識。

說明:在對話方塊內移動焦點至指定的控制項。要得到作為pwndctrl傳遞的控制項(子視窗)的指標。呼叫cwnd::getdlgitem成員函式,它返回乙個cwnd 物件指標。

6 void gotodlgctrl(cwnd* pwndctrl);

引數: pwndctrl 接收焦點的視窗(控制項)標識。

說明:在對話方塊內移動焦點至指定的控制項。要得到作為pwndctrl傳遞的控制項(子視窗)的指標。呼叫cwnd::getdlgitem成員函式,它返回乙個cwnd 物件指標。

7 bool initmodalindirect(lpcdlgtemplate lpdialogtemplate, cwnd* pparentwnd = null);

bool initmodalindirect(hglobal hdialogtemplate, cwnd* pparentwnd = null);

返回值:

如果對話方塊物件建立和初始化成功,則返回非零值,否則為0。

引數: lpdialogtemplate 包含用於建立對話方塊的對話方塊模板的指標。該模板位於dlgtemplate結構和控制項資訊表單中。

有關該結構的更多資訊,請參閱聯機文件「win32 sdk」。

hdialogtemplate 包含對話方塊模板的全域性記憶體的控制代碼。模板使用dlgtemplate結構的形式。

pparentwnd 指向含有對話方塊的父視窗和所有者視窗(cwnd型別)的指標。如果其為null,對話方塊物件的父視窗設定為主應用程式視窗。

說明:呼叫該成員函式,使用記憶體中構造的對話方塊模板初始化模態對話方塊。

要間接建立乙個模態對話方塊,首先應分配一塊全域性記憶體用於存放對話方塊模板,然後呼叫空的cdialog構造程式構造對話方塊物件,再呼叫initmodalindirect將控制代碼存入記憶體中的對話方塊模板。當呼叫domodal成員函式後,windows 對話方塊被建立並顯示。

8 void mapdialogrect(lprect lprect) const;

引數: lprect rect結構或crect物件的指標,包含有用於轉換的對話方塊的邏輯座標。

說明:將對話方塊單位轉換為螢幕單位。對話方塊單位是用當前對話方塊基本單位表示的。

基本單位是從對話方塊文字的字元平均高度和寬度得到的。1個水平單位是1/4個對話方塊基本寬度單位,1個垂直單位是1/4個對話方塊基本高度單位。

getdialogbaseunits 返回系統字型的尺寸資訊,但如果在資源定義檔案中使用了ds_setfont風格,便可以為每個對話方塊指定不同的字型。mapdialogrect函式對話方塊使用適當的字型。

mapdialogrect用螢幕單位(畫素)替代了lprect中的對話方塊單位,以便矩形能用於建立對話方塊或者在框內為控制項確定位置。

9 virtual void oncancel();

說明:當使用者在模態對話方塊或非模態對話方塊內單擊cancel按鈕或按esc鍵時,窗體呼叫這個成員函式。

覆蓋該成員函式,執行cancel按鈕動作,預設方式是呼叫enddialog來簡單中止模態對話方塊,並使domodal 返回idcancel。

如果在非模態對話方塊中實現cancel按鈕,必須覆蓋oncancel成員函式,並在其中呼叫destorywindow。不能呼叫基類成員函式,那將會呼叫enddialog,使對話方塊雖然存在但不可視。

10 virtual void onok();

說明:當使用者按ok按鈕(id是idok)時呼叫。

覆蓋該函式執行ok按鈕動作。如果對話方塊包括自動資料檢驗和交換,預設方式是對應用的某些變數進行資料的檢驗和更新。

如果在非模態對話方塊中實現ok按鈕,必須覆蓋onok成員函式,並在其中呼叫destorywindow。不能呼叫基類成員函式,那將會呼叫enddialog,使對話方塊雖然存在但不可視。

11 virtual void onok();

說明:當使用者按ok按鈕(id是idok)時呼叫。

覆蓋該函式執行ok按鈕動作。如果對話方塊包括自動資料檢驗和交換,預設方式是對應用的某些變數進行資料的檢驗和更新。

如果在非模態對話方塊中實現ok按鈕,必須覆蓋onok成員函式,並在其中呼叫destorywindow。不能呼叫基類成員函式,那將會呼叫enddialog,使對話方塊雖然存在但不可視。

12 virtual void onsetfont(cfont* pfont);

引數: pfont 字型指標。用作對話方塊中所有字型使用的預設值。

說明:書寫文字時為對話方塊控制項指定字型。對話方塊控制項使用指定字型作為所有對話方塊控制項的預設值。對話方塊編輯器設定字型,將其作為對話方塊模板資源的一部分。

13 void prevdlgctrl() const;

說明:把對話方塊中的焦點移到前乙個控制項。如果焦點在第乙個控制項上,則移到對話方塊中最後乙個控制項上。

14 void setdefid(unit nid);

引數: nid 指定用作預設按鈕的按鈕控制項的id。

說明:為對話方塊改變預設按鈕。

15 void sethelpid(unit nidr);

引數: nidr 指定上下文幫助id。

1.void addview(cview* pview);

引數: pview 被新增的檢視指標。

說明:呼叫該成員函式將檢視新增到文件中。該函式將指定檢視加入與文件相聯絡的檢視列表之中。

函式還設定指向文件的檢視指標。當新增乙個新建立的檢視物件到文件時,框架呼叫該函式。這是對file open,filenew,新的windows 或視窗被分隔等作出的反應。

函式與基本初等函式2 1函式及其表示 學生

響水二中高三數學 理 一輪複習學案第二編函式與基本初等函式 主備人張靈芝總第4期 2.1 函式及其表示 基礎自測 1.與函式f x x 是相同函式的有寫出乙個你認為正確的即可 2.設m n 給出下列四個圖形 如圖所示 其中能表示從集合m到集合n的函式 關係的是填序號 3.若對應關係f a b是從集合...

擔保業務管理基本類制度

2010年8月制訂 目錄第一章總則3頁 第二章業務管理組織體系3頁 第三章客戶物件和基本條件4頁 第四章客戶統一授信管理4頁 第五章擔保業務種類5頁 第六章擔保業務操作管理5頁 第七章擔保業務發生後的管理 6頁 第八章擔保資產風險監管6頁 第九章擔保人力資源管理7頁 第十章擔保管理電子化7頁 第十一...

新陳代謝的基本型別

教學目的 理解的新陳代謝的概念和基本型別。重點難點 新陳代謝的概念和基本型別。教學過程 一 新陳代謝的概念 1 新陳代謝是生物最基本的特徵,是生物體進行一切生命活動的基礎,是生物與非 生物最本質的區別。2 從細胞水平看 新陳代謝是生物體內全部有序的化學變化的總稱。其中的每乙個化學變化一般都是 在酶的...