亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 04.1.1 classwizard.txt

?? 網上第一本以TXT格式的VC++深入詳解孫鑫的書.全文全以TXT格式,并每一章節都分了目錄,清晰易讀
?? TXT
字號:
4.1.1 ClassWizard 
為了給視類添加鼠標左鍵按下消息的響應,讀者可以像前面對框架類添加消息響應那樣進行操作,但這里,再為讀者介紹一種給類添加消息響應的方法,即利用ClssWizard工具來實現。 ClassWizard是Visual C++ 6.0中一個很重要的組成部分。它可以幫助我們創建一個新類,為己有類添加成員變量,添加消息和命令的響應函數,以及虛函數的重寫。在 VC++開發環境界面中,打開【View】菜單,選擇【ClassWizard】菜單命令,這時會彈出如圖4.1所示的對話框。
圖	4.1 MFC ClassWizard對話框 
可以看到, MFC Class Wizard對話框包括五個選項卡,分別是: Message Maps、 Member Variables、 Automation、 ActiveXEvents和ClassInfo選項卡。下面就分別介紹這五個選項卡。 
1. Message Maps選項卡 
Message Maps選項卡的界面如圖4.1所示,可以通過此選項卡添加消息處理函數、成
員函數及新類,還可以刪除成員函數,以及對成員函數進行編輯。該選項卡上各控件的含義及作用如下所述。 
. 	Project下拉列表框給出當前工程名稱。實際上,對 VC++來說,一個工作區空間 
C.dsw)中可以包含多個工程C.dsp)。因此,如果工作區中有多個工程,可以在Project
下拉列表框選擇當前需要處理的工程。 
. 	Class name下拉列表框顯示當前工程中包含的類,用戶可以選擇任何存在于當前工
程中的類,為其添加消息處理函數等。 
. 	Object IDs列表框列出當前選擇的類所包含的所有資源的ID號,包括菜單項、對
	話框控件等,列表中的第一項總是當前的類名。 
. 	Messages列表框列出對應于ObjectIDs框中所選中的當前項可處理的ID,以及針
對當前類可被重寫的MFC虛函數。 


. 	Member functions列表框列出當前類包含的所有成員函數。其中,前面標注有 "V"
字符的是虛函數,標注 "W"字符的是Windows消息處理函數。 


. 	Add Class按鈕允許用戶在工程中添加一個新類。新類可以是自己創建的,也可以
從ActiveX庫中選取。 


. 	Add Function按鈕允許用戶向 Member Functions列表框中添加一個新的消息處理
函數或重載基類的虛函數。 


. 	Delete Function按鈕允許用戶刪除Member Functions列表框中所選中的函數。 

. 	Edit Code按鈕打開編輯窗口,允許用戶對Member Functions框中所選中的項進行
編輯。 
2. 	Member Variables選項卡
單擊 MFC ClassWizard對話框上的 Member Variables標簽,即可顯示 Member Variables 選項卡,如圖 4 .2所示。通過此選項卡,我們可以加入與對話框上的控件相關聯的成員變量,以便程序利用這些成員變量與對話框上的控件進行信息交換。至于如何將變量與控件相關聯,將在后面的章節中詳細介紹,這里只對該選項卡上各控件的含義做簡單介紹。
圖 4.2 MFC ClassWi zard對話框之 Member Variables選項卡 

. 	Project下拉列表框與 Message Maps選項卡上的 Project下拉列表框含義相同,給出當前工程名稱。 

. 	Class name下拉列表框與 Message Maps選項卡上的 Class name下拉列表框,顯示當前工程中包含的類,用戶可以從中選擇當前要操作的類。 


. 	Control IDs 項顯示對話框中所具有的控件的 E號; Ty pe項表示成員變量的類型: Member項表示成員變量的名字。 
. 	Add Class按鈕允許用戶在工程中添加一個新類。新類可以是自己創建的,也可以從 ActiveX庫中選取。 
. 	Add Variable按鈕用于給選定的控件添加成員變量。 

. 	Delete Variable按鈕用于刪除選定控件的成員變量。 

. 	Update Columns:當數據源中的表結構發生變化時,單擊此按鈕,即可更新相應的記錄集類,以便與最新的表結構保持一致。 

. 	Bind All按鈕用于把數據庫內指定表中的字段與記錄集類相應數據成員一一綁定。默認情況下, ClassWizard基于每個字段的名稱確定記錄類內相應的數據成員名稱。 


3. 	Automation選項卡
單擊 MFC ClassWizard對話框上的 Automation標簽,即可顯示 Automation選項卡,如圖 4.3所示。此選項卡允許用戶加入方法或屬性,以增強程序的 Automation功能。 
. 	Project下拉列表框給出當前工程名稱。
圖 4.3 MFC ClassWizard對話框之 Automation選項卡 

. 	Class name下拉列表框顯示當前工程中包含的類,用戶可以選擇任何存在于當前工程中的類,包括不支持 Automation的類。 

. 	Extemal names列表框列出己加到當前類中的方法及屬性的外部名。這些名字供 Automation客戶程序使用。 

. 	Implementation文本框顯示 External names框中選中的方法及屬性在 C++類中是怎樣實現的: S表示固有屬性, C表示自定義屬性, M表示方法,粗體表示默認的屬性。 

. 	Add Class按鈕允許用戶在工程中添加一個新類。新類可以是自己創建的,也可以從 ActiveX庫中選取。 


. 	Add Method按鈕用于給類添加新的 Automation方法。增加或刪除方法時, Class Wizard自動更新映射表。此項只對支持 Automation的類有效。 
. 	Add Property按鈕用于給類添加新的 Automation屬性。增加或刪除屬性時, Class Wizard自動更新映射表,此項只對支持 Automation的類有效。 

. 	Delete按鈕用于刪除 Extem aJ names框中選定的方法或屬性名。如果屬性是用 GetJSet方式訪問的,必須手工刪除 .cpp文件里的 Get和 Set成員函數。 

. 	Edit Code按鈕打開編輯窗口進行編輯。 


. 	Data Binding按鈕用于指定 Automat.on控件支持的數據綁定層次。 
4. 	ActiveX Events選項卡
單擊 MFC ClassWizard對話框上的 ActiveX Events標簽,即可顯示 ActiveX Events選項卡,如圖 4.4所示。該選項卡允許用戶加入事件以支持 ActiveX控件。 
. 	Project下拉列表框給出當前t程名稱。 
. 	Class name下拉列表框顯示當前工程中包含的類,用戶可以選擇任何存在于當前工程中的類,包括不支持 ActiveX的類。 

. 	ExtemaJ names列表框列出己加到當前類中的成員函數與成員變量名。這些名字供 Automation客戶程序使用。


圖 4.4 MFC ClassWizard對話框之ActiveX Events選項卡 

. Implementation文本框顯示Extemal names框中選中的方法及屬性在 C++類中的實
現: S表示固有屬性,C表示自定義屬性,M表示方法,粗體表示默認的屬性。 


. 	Add Class按鈕允許用戶在工程中添加一個新類。新類可以是自己創建的,也可以從ActiveX庫中選取。 

. 	AddEvent按鈕允許用戶加入Automation事件。該事件用于類與該類容器之間的通信。 


. 	Delete按鈕用于刪除選中的 Automation事件。 
5. 	Class Info選項卡
單擊MFC ClassWizard對話框上的ClassInfo標簽,即可顯示ClassInfo選項卡,如圖 
4.5所示。通過此選項卡,用戶可以觀察當前工程中類的有關信息。 
圖4.5 MFC ClassWizard對話框之Class Info選項卡

106 I ~如' 
VCII:深λ詳解 
. 	Project下拉列表框給出當前工程名稱。 

. 	Class name下拉列表框顯示當前工程中包含的類。用戶可以選擇當前需要處理的類。 

. 	File details顯示當前類的文件及資源 ID號等信息。 

. 	Advanced options控件組包含下列信息: 

. 	Message filter下拉列表框,列出對當前選中的類有效的所有消息分類,這里是按照消息所屬窗口或對話框類型進行分類的。 

. 	Foreign class下拉列表框的內容由當前選中類的類型決定。如果當前選中的類是對話框、有格式視圖或記錄集視圖,那么此框列出所有與選中的類相關聯的外部類名。在其他情況下,則顯示為 None。 

. 	Foreign variable框列出與當前選中的類相關的所有外部變量。此選項一般用于數據庫類。在編輯記錄集視圖時,可以選取相關的記錄集,并可以輸入一個新的變量名。 


. 	Add Class按鈕用于添加新類。
現在我們利用 Class Wizard給工程 Draw的視類 CDrawView添加 WM LBUTTONDOWN消息響應函數,在 MFC ClassWizard對話框的 Message Maps選項卡上依次進行以下選擇。 
. 	Project選項
選擇工程名,因為本例的工作區中只有一個工程,即 Draw,所以直接選擇這個工程即可。 
. Class name選項
選擇 CDrawView類。 


. Object IDs選項因為我們現在是要對 CDrawView類添加消息響應函數,所以應該選擇 CDrawView J頁。 

. Messages選項拖動此選項的該動條,找到 WM_LBUTTONDOWN消息并選中。經過以上幾步選擇之后,單擊 Add Function按鈕, ClassWizard就會在 member functions 


列表框中添加一項,即 WM_LBUTTONDOWN消息的響應函數 OnLButtonDown,如圖 4.6所示。
單擊 Edit Code按鈕,即可跳轉到 CDrawView類的源文件中,并定位于 OnLButtonDown函數的定義處。與前面 CMainFrame類的處理一樣,在此函數中添加一個顯示消息框的函數,代碼如例 4-2所示。
仔tl4-2 

void CDrawView: :OnLButtonDown(UINT nFlags , CPoint point) 
// TODO: Add your message handler code here and/or call default 
MessageBox("View Clicked!");
 CView: :OnLButtonDown(nFlags , point); 
" 

圖 4.6新增的WM LBUTTONDOWN消息響應函數項 

Build并運行Draw程序,然后在程序窗U上單擊鼠標左鍵,此時會彈出一個消息框(如圖4.7所示〉。這就說明視類所代表的窗口被單擊了。也就是說,視類捕獲鼠標左鍵按下消息這一操作生效了。

圖  4.7 B蜻在視類中捕獲 WM_LBUTTONDOWN 旦消息時程序運行結果 

那么為什么前面在框架類中捕獲這一消息就沒有生效呢?在前面第 3章中講述文檔/視類結構時,曾說過視類窗口始終覆蓋在框架類窗口之上。我們可以打個比方,框架窗口就像一面墻,而視類窗口就像墻紙,它始終擋在這面墻的前面。那么此時對這面墻的所有操作,其實都是在這面墻紙上進行的。同樣的道理也適用于框架窗口和視窗口。也就是說,所有操作,包括鼠標單擊、鼠標移動等操作都只能由視類窗口捕獲。這就是為什么在框架類窗口中收不到鼠標左鍵單擊這一消息的原因。
這時,我們可以刪除框架類中已經添加的 WM一LBUTIONDOWN這一消息的響應函數。不過,讀者應注意的是,通過MFC提供的向導添加消息響應函數后, ClassWizard會在所選類的頭文件和源文件中添加幾處相關的信息, 4. 1.2節將介紹通過向導添加的內容及其所在的位置。因此刪除某個消息響應函數時要小心,一定要確保這幾處相關代碼均被刪除。最好不要直接手工刪除源代碼中的函數定義??梢栽贑lassView選項卡上用鼠標右鍵單擊要刪除的函數名,在彈出的快捷菜單中選擇【Delete】菜單命令,如圖4.8所示。系統會提示用戶是否確認此操作,當用戶做出肯定應答后, VC++就會把頭文件和源文件中所有與此函數相關的信息全部刪除。
圖4.8刪除一個類成員函數的操作 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美高清dvd碟片| 国产黄色精品网站| 欧美日韩免费电影| 天天影视色香欲综合网老头| 制服丝袜亚洲精品中文字幕| 图片区小说区国产精品视频| 国产精品女人毛片| 91蜜桃婷婷狠狠久久综合9色| 亚洲精品视频一区二区| 欧美人伦禁忌dvd放荡欲情| 日韩不卡手机在线v区| 精品久久久久久久久久久院品网 | 制服丝袜国产精品| 男人操女人的视频在线观看欧美| 欧美一区二区精品在线| 韩国欧美国产一区| 国产精品欧美一级免费| 欧美性一二三区| 麻豆传媒一区二区三区| 中文字幕第一区| 日本高清不卡在线观看| 美女高潮久久久| 国产午夜亚洲精品理论片色戒 | 中文字幕一区视频| 精品婷婷伊人一区三区三| 蜜臀av一区二区| 中文字幕亚洲区| 欧美一区中文字幕| av电影天堂一区二区在线| 五月天亚洲婷婷| 日本亚洲最大的色成网站www| 国产色综合一区| 美国av一区二区| 精品无人码麻豆乱码1区2区| 日韩欧美在线网站| 久久久99精品久久| 一区二区三区四区蜜桃| 欧美国产禁国产网站cc| 91精品麻豆日日躁夜夜躁| 91激情五月电影| 精品国产免费一区二区三区香蕉 | 亚洲sss视频在线视频| 色综合色狠狠天天综合色| 中文字幕av一区二区三区| av爱爱亚洲一区| 伊人性伊人情综合网| 欧美日韩午夜在线视频| 国产一区二区三区电影在线观看| 亚洲精品一区二区三区在线观看| 午夜国产精品影院在线观看| 欧美日韩三级一区二区| 视频一区二区三区在线| 久久久久久99久久久精品网站| 成人精品免费看| 亚洲一区二区黄色| 在线不卡免费欧美| 色综合久久99| 91在线观看成人| 国产网红主播福利一区二区| 国产精品白丝jk白祙喷水网站 | 成人丝袜18视频在线观看| 亚洲一区二区三区四区中文字幕| 26uuu欧美日本| 日韩一级片网站| 欧美精品 日韩| 日本网站在线观看一区二区三区 | 午夜精品免费在线| 国产精品乱码人人做人人爱| 日韩欧美一区在线观看| 91成人在线精品| 成人黄色av电影| a亚洲天堂av| 91在线国产观看| 日韩视频免费观看高清完整版 | 中文字幕亚洲视频| 久久综合999| 欧美福利视频一区| 欧美老年两性高潮| 精品国产区一区| 日韩av不卡在线观看| 久久久精品影视| 国产日韩在线不卡| 国产日韩精品视频一区| 国产精品色哟哟| 伊人婷婷欧美激情| 蜜臀国产一区二区三区在线播放| 日韩精品免费视频人成| 美国精品在线观看| fc2成人免费人成在线观看播放 | 欧美国产97人人爽人人喊| 久久综合九色综合久久久精品综合| 欧美成人福利视频| 久久人人爽人人爽| 一区二区三区av电影| 蜜臀久久99精品久久久久久9| 久热成人在线视频| av不卡一区二区三区| 日韩一区有码在线| 日韩精品在线一区| 综合久久一区二区三区| 蜜臀久久久99精品久久久久久| 国产精品一二三四五| 在线观看不卡一区| 国产清纯在线一区二区www| 中文字幕一区二区三区视频| 美女视频网站黄色亚洲| 99re这里只有精品首页| 69久久99精品久久久久婷婷| 国产一区二区视频在线| 不卡av在线免费观看| 777奇米成人网| 亚洲码国产岛国毛片在线| 男男成人高潮片免费网站| 欧美在线免费观看视频| 久久婷婷色综合| 麻豆精品视频在线观看免费| 色综合咪咪久久| 亚洲欧美色一区| 欧美日本高清视频在线观看| 亚洲精品你懂的| 亚洲午夜久久久久久久久电影网| 懂色中文一区二区在线播放| 日韩视频123| 激情综合五月天| 国产亚洲福利社区一区| 久国产精品韩国三级视频| 精品捆绑美女sm三区| 精品无人码麻豆乱码1区2区| 日韩美女视频在线| 久久精品国产秦先生| 2021久久国产精品不只是精品| 99免费精品视频| 久久久影院官网| 国产**成人网毛片九色 | 丁香婷婷深情五月亚洲| 久久亚洲春色中文字幕久久久| 日韩精品91亚洲二区在线观看| 91麻豆精品国产91久久久资源速度| 亚洲免费大片在线观看| 26uuu国产日韩综合| 麻豆成人在线观看| 国产午夜亚洲精品午夜鲁丝片| 国产精品性做久久久久久| 亚洲日本在线a| 91精品欧美一区二区三区综合在| 国产麻豆精品在线观看| 91视频一区二区| 国产成人在线色| 欧美国产日韩a欧美在线观看| 国产米奇在线777精品观看| 亚洲精品一区二区三区影院| 成人午夜视频在线| 久久午夜色播影院免费高清| 美国毛片一区二区三区| 亚洲高清中文字幕| 亚洲一区二区三区四区中文字幕| 中文字幕在线一区免费| 国产三级欧美三级日产三级99| 久久久精品中文字幕麻豆发布| 欧美电影精品一区二区 | 亚洲精品欧美综合四区| ...xxx性欧美| 亚洲午夜精品久久久久久久久| 亚洲欧美偷拍三级| 午夜精品123| 黄页网站大全一区二区| 成人福利视频在线看| 91久久久免费一区二区| av激情亚洲男人天堂| 日韩精品福利网| 国产精品羞羞答答xxdd| 99国产欧美久久久精品| 91精品欧美一区二区三区综合在| 欧美大片国产精品| 亚洲欧洲无码一区二区三区| 亚洲成a人在线观看| 国产成人综合在线观看| 欧美精品在线观看一区二区| 欧美不卡在线视频| 亚洲精品国产一区二区精华液| 日韩精品欧美精品| 色婷婷av一区二区| 国产网站一区二区| 男女视频一区二区| 欧洲精品在线观看| 国产精品嫩草99a| 老司机精品视频在线| 成人午夜电影久久影院| 在线播放国产精品二区一二区四区| 亚洲精品一区二区三区在线观看 | 日韩欧美一级二级三级久久久| 国产午夜精品一区二区三区四区| 亚洲国产成人精品视频| 国产成人在线色| 日韩精品一区二区三区蜜臀 | 日韩一级二级三级| 欧美日韩精品一区二区天天拍小说| 欧美一级精品大片| 日韩一区在线看| 国产精品一区二区三区四区|