VC學習筆記

2021-03-31 08:56:29 字數 4348 閱讀 4544

程式的建立步驟:

1建立框架和對話方塊; 2

建立對話方塊對應的對話方塊類(

cpassworddlg

,由cdialog

派生)。並為此對話方塊類增加成員變數(用於獲取放置於編輯框中的密碼內容

m_strpassword);

3修改對話方塊類的建構函式,對新增加的對話方塊成員變數賦初值; 4

在程式主檔案

password.cpp

中增加對話方塊標頭檔案(

passworddlg.h

);並在初始化函式(

)中完成:建立乙個新的對話方塊、呼叫並顯示對話方塊、新增業務邏輯——獲取使用者的輸入(密碼)並判斷; 5

在框架顯示檔案(即密碼輸入成功或者輸入失敗情況下框架要顯示的內容,在此為

passwordview

)中,新增顯示畫面(在此,首先在標頭檔案

passwordview.h

中增加新的字串變數以顯示要列印的文字,然後在

passwordview.cpp

中增加顯示這些文字的**)。

本節重點:

1程式的入口點是程式主檔案中的

建立**(在此即為

password.cpp

檔案中的

語句)。所以,對話方塊的建立、呼叫與顯示最好位於

的初始化函式

initinstance()

函式之中。 2

基本的類結構

是程式的業務邏輯類(程式的入口點在此);

c***xxdlg

是程式的對話方塊類;

c***xxview

是程式的檢視類,即展示給使用者的框架介面;

cmainframe

是程式的框架類。 3

c***xxdoc

類的作用??? 2.

按鈕、列表框和組合框

程式的建立步驟:

1建立專案工程,本例項為單文件,並且檢視類由

ceditview

派生;

2新增對話方塊資源,並將需要的各種控制項新增到對話方塊中; 3

通過「view|classwizard

」建立對話方塊類(注意類名前一般加c)

cregister

,並為對話方塊中的各個控制項新增訊息處理函式; 4

繼續為對話方塊中的各個控制項新增成員變數; 5

在對話方塊類的標頭檔案(

cregisterdlg.h

)中新增乙個公有變數

cwnd* m_pparent

,以用來指明該對話方塊的父視窗;然後在對話方塊類的初始化函式

oninitdialog()

中為「科室」列表框新增內容;再在對話方塊的建構函式中為對話方塊的各個控制項賦初值,並指明對話方塊的父視窗是工程的主框架視窗;再在對話方塊的「進入」按鈕的訊息處理函式

onin()

中新增業務邏輯,包括讀取並判斷使用者的輸入、顯示使用者的輸入等等; 6

在框架視窗增加乙個選單項用於呼叫對話方塊的呼叫,方法類似於前面所述,並修改訊息處理函式以符合要求。

本節重點:

1類名的前面一般都加乙個大寫的

c(比如

c***dlg

),而檔名則不用; 2

為控制項增加相應的成員變數和訊息處理函式時,要明確是為哪個控制項增加(是框架的選單?還是對話方塊);如果該控制項的類還不存在,則需要首先建立這麼乙個類,這一步可以通過「

view|classwizard

」調出類嚮導完成。為控制項增加相應的成員變數和訊息處理函式的步驟為:選擇專案、選擇類、選擇訊息名稱(我的理解,即為物件

id),以及選擇訊息處理函式(我的理解,即為

messages

)。在完成這幾步後,即可在

member function

中看到新增的結果。最後,使用者可以對相應類的相應函式(即訊息處理函式)進行修改,以滿足使用者的需求。 3

模式對話方塊的啟動示例:

cregisterdlg dlg(this); dlg.domodal();

注意,this

表明這個對話方塊的父視窗是工程的框架;而

domodal()

是專門用來啟動對話方塊的函式; 4

注意類的

initinstance()

函式的返回值是個布林值,(

),所以只有當

返回值為真(當然,框架的啟動也必須正確)時才能正常顯示程式的框架,否則不行。至於首先出現對話方塊還是主框架,則要看是對話方塊啟動在前,還是框架的顯示在前。 3.

查詢、替換對話方塊

程式的建立步驟:

1建立工程的主框架; 2

建立非模式對話方塊資源,即「查詢與替換對話方塊」。業務邏輯所需的控制項為對話方塊控制項、對話方塊中負責接收使用者輸入的查詢編輯框和替換編輯框; 3

建立與上述三個控制項相關的類,在此為

creplacedlg

類;以及與兩個編輯框相關的變數:

cstring

型別的m_strfind

和m_strreplace

,並增加相應的預設訊息處理函式; 4

在選單資源中增加用以啟動這個查詢替換框的選單選項,並增加此選單的使用者自定義的訊息處理函式(注意該訊息處理函式位於

c***xxview

類中); 5

完成這個查詢與替換對話方塊物件的外圍及初始化準備工作:首先要明確這個對話方塊是由

c***xxview

類(其中的選單項)啟動的(第

6步),並在

c***xxview

類中完成對話方塊的初始化工作(第

7步)和響應選單項命令的訊息處理函式(第

8步); 6

為c***xxview

類增加乙個

creplacedlg*

型別的成員變數

dlg,用於指向這個對話方塊;

7在

***xxview.h

標頭檔案中申明兩個類:

class creplacedlg; class creplacedoc;

在***xxview.cpp

中,首先增加標頭檔案

replacedlg.h

:#include 「replacedlg.h」

,並在c***xxview

類的建構函式中給第

5步定義的新成員變數賦初值為

null;

8修改第

4步中的自定義訊息處理函式:判斷是否已存在這麼乙個對話方塊,若已有,則啟用(

dlg->setactivewindow();

);否則,先建立(

dlg=new creplacedlg(this); dlg->create(idd_replace,this);

),再顯示此對話方塊(

dlg->showwindow(sw_show));

9最後編寫完成查詢與替換對話方塊物件,包括業務邏輯:修改第

3步中所增加的預設訊息處理函式,先為

creplacedlg

類增加乙個用以指向父視窗的

cwnd*

型別的成員變數,再改寫

creplacedlg

類中的oncancel()

函式、onok()

函式和postncdestroy()

函式。注意在

oncancel()

函式中要完成將對話方塊指標賦空和關閉對話方塊視窗的任務,在

postncdestroy()

函式中刪除對話方塊物件,在

onok()

函式中完成業務邏輯。

本節重點:

1非模式對話方塊的建立與銷毀

creplacedlg* dlg=new creplacedlg(this); dlg->create(idd_replace,this);dlg->showwindow(sw_show);

銷毀工作包括對話方塊指標賦空、關閉並刪除對話方塊視窗。 4.

進度條和滑尺

程式的建立步驟:1

本節重點:

1建立使用者自定義的預設檔案儲存格式:在

stringtab

資源目錄下,雙擊開啟,修改

idd_mainframe

,改為:

***/n/n***/n

檔案格式說明

/n.xx/n***.document/n*** document

,其中,檔案格式說明為使用者對預設檔案格式的說明和註解,

.xx為使用者自定義的檔案格式,其餘保持不變即可。

VC學習筆記

1 全域性變數和類在入口函式前執行。2 lpctstr為長字串,賦值要用l string 的格式。3 新增和刪除成員函式都是在類屬性裡操作的。4 vs2008對選單的設定都是在屬性裡,新增command訊息也是在相應類的屬性裡。5 settimer 可以隨時使用。設定之後便可以加訊息處理。6 在標頭...

VC 學習筆記(二)

1.c語言的結構體是不能有成員函式的,但是 c 中可以的。這樣的話 c 中的結構體和類的作用是相同的,但是 c 中的結構體和類也是有區別的區別就是類可以定義其訪問許可權,而結構體不同,不能定義其訪問許可權。結構體和類在 c 中是可以通用的。2.類是抽象出一些基本屬性,物件是具有具體屬性值。物件是具體...

VC 學習筆記 四

messagebox button bination ids mb abortretryignore abort,retry,ignore mb ok ok mb okcancel ok,cancel mb retrycancel retry,cancel mb yesno yes,no mb ye...