vc++基礎(chǔ)教程

vc++基礎(chǔ)教程

ID:34563504

大?。?02.06 KB

頁(yè)數(shù):41頁(yè)

時(shí)間:2019-03-08

vc++基礎(chǔ)教程_第1頁(yè)
vc++基礎(chǔ)教程_第2頁(yè)
vc++基礎(chǔ)教程_第3頁(yè)
vc++基礎(chǔ)教程_第4頁(yè)
vc++基礎(chǔ)教程_第5頁(yè)
資源描述:

《vc++基礎(chǔ)教程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、VC++基礎(chǔ)教程VisualC++/MFC入門教程VC開發(fā)指南1.1如何學(xué)好VC這個(gè)問題很多朋友都問過我,當(dāng)然流汗是必須的,但同時(shí)如果按照某種思路進(jìn)行有計(jì)劃的學(xué)習(xí)就會(huì)起到更好的效果。萬事開頭難,為了幫助朋友們更快的掌握VC開發(fā),下面我將自己的一點(diǎn)體會(huì)講一下:1、需要有好的C/C++基礎(chǔ)。正所謂“磨刀不誤砍柴工”,最開始接觸VC時(shí)不要急于開始Windows程序開發(fā),而是應(yīng)該進(jìn)行一些字符界面程序的編寫。這樣做的目的主要是增加對(duì)語言的熟悉程度,同時(shí)也訓(xùn)練自己的思維和熟悉一些在編程中常犯的錯(cuò)誤。更重要的是理解并能運(yùn)用C++的各種

2、特性,這些在以后的開發(fā)中都會(huì)有很大的幫助,特別是利用MFC進(jìn)行開發(fā)的朋友對(duì)C++一定要能熟練運(yùn)用。2、理解Windows的消息機(jī)制,窗口句柄和其他GUI句柄的含義和用途。了解和MFC各個(gè)類功能相近的API函數(shù)。3、一定要理解MFC中消息映射的作用。4、訓(xùn)練自己在編寫代碼時(shí)不使用參考書而是使用HelpOnline。5、記住一些常用的消息名稱和參數(shù)的意義。6、學(xué)會(huì)看別人的代碼。7、多看書,少買書,買書前一定要慎重。8、閑下來的時(shí)候就看參考書。9、多來我的主頁(yè)。^O^后面幾條是我個(gè)人的一點(diǎn)意見,你可以根據(jù)需要和自身的情況選用適

3、用于自己的方法。此外我將一些我在選擇參考書時(shí)的原則:對(duì)于初學(xué)者:應(yīng)該選擇一些內(nèi)容比較全面的書籍,并且書籍中的內(nèi)容應(yīng)該以合理的方式安排,在使用該書時(shí)可以達(dá)到循序漸進(jìn)的效果,書中的代碼要有詳細(xì)的講解。盡量買翻譯的書,因?yàn)檫@些書一般都比較易懂,而且語言比較輕松。買書前一定要慎重如果買到不好用的書可能會(huì)對(duì)自己的學(xué)習(xí)積極性產(chǎn)生打擊。對(duì)于已經(jīng)掌握了VC的朋友:這種程度的開發(fā)者應(yīng)該加深自己對(duì)系統(tǒng)原理,技術(shù)要點(diǎn)的認(rèn)識(shí)。需要選擇一些對(duì)原理講解的比較透徹的書籍,這樣一來才會(huì)對(duì)新技術(shù)有更多的了解,最好書中對(duì)技術(shù)的應(yīng)用有一定的闡述。盡量選擇示范

4、代碼必較精簡(jiǎn)的書,可以節(jié)約銀子。此外最好涉獵一些輔助性的書籍。1.2理解Windows消息機(jī)制Windows系統(tǒng)是一個(gè)消息驅(qū)動(dòng)的OS,什么是消息呢?我很難說得清楚,也很難下一個(gè)定義(誰在噓我),我下面從不同的幾個(gè)方面講解一下,希望大家看了后有一點(diǎn)了解。1、消息的組成:一個(gè)消息由一個(gè)消息名稱(UINT),和兩個(gè)參數(shù)(WPARAM,LPARAM)。當(dāng)用戶進(jìn)行了輸入或是窗口的狀態(tài)發(fā)生改變時(shí)系統(tǒng)都會(huì)發(fā)送消息到某一個(gè)窗口。例如當(dāng)菜單轉(zhuǎn)中之后會(huì)有WM_COMMAND消息發(fā)送,WPARAM的高字中(HIWORD(wParam))是命令

5、的ID號(hào),對(duì)菜單來講就是菜單ID。當(dāng)然用戶也可以定義自己的消息名稱,也可以利用自定義消息來發(fā)送通知和傳送數(shù)據(jù)。2、誰將收到消息:一個(gè)消息必須由一個(gè)窗口接收。在窗口的過程(WNDPROC)中可以對(duì)消息進(jìn)行分析,對(duì)自己感興趣的消息進(jìn)行處理。例如你希望對(duì)菜單選擇進(jìn)行處理那么你可以定義對(duì)WM_COMMAND進(jìn)行處理的代碼,如果希望在窗口中進(jìn)行圖形輸出就必須對(duì)WM_PAINT進(jìn)行處理。3、未處理的消息到那里去了:M$為窗口編寫了默認(rèn)的窗口過程,這個(gè)窗口過程將負(fù)責(zé)處理那些你不處理消息。正因?yàn)橛辛诉@個(gè)默認(rèn)窗口過程我們才可以利用Wind

6、ows的窗口進(jìn)行開發(fā)而不必過多關(guān)注窗口各種消息的處理。例如窗口在被拖動(dòng)時(shí)會(huì)有很多消息發(fā)送,而我們都可以不予理睬讓系統(tǒng)自己去處理。4、窗口句柄:說到消息就不能不說窗口句柄,系統(tǒng)通過窗口句柄來在整個(gè)系統(tǒng)中唯一標(biāo)識(shí)一個(gè)窗口,發(fā)送一個(gè)消息時(shí)必須指定一個(gè)窗口句柄表明該消息由那個(gè)窗口接收。而每個(gè)窗口都會(huì)有自己的窗口過程,所以用戶的輸入就會(huì)被正確的處理。例如有兩個(gè)窗口共用一個(gè)窗口過程代碼,你在窗口一上按下鼠標(biāo)時(shí)消息就會(huì)通過窗口一的句柄被發(fā)送到窗口一而不是窗口二。5、示例:下面有一段偽代碼演示如何在窗口過程中處理消息LONGyourWn

7、dProc(HWNDhWnd,UINTuMessageType,WPARAMwP,LPARAM){switch(uMessageType){//使用SWITCH語句將各種消息分開case(WM_PAINT):doYourWindow(...);//在窗口需要重新繪制時(shí)進(jìn)行輸出break;case(WM_LBUTTONDOWN):doYourWork(...);//在鼠標(biāo)左鍵被按下時(shí)進(jìn)行處理break;default:callDefaultWndProc(...);//對(duì)于其它情況就讓系統(tǒng)自己處理break;}}接下來談?wù)?/p>

8、什么是消息機(jī)制:系統(tǒng)將會(huì)維護(hù)一個(gè)或多個(gè)消息隊(duì)列,所有產(chǎn)生的消息都回被放入或是插入隊(duì)列中。系統(tǒng)會(huì)在隊(duì)列中取出每一條消息,根據(jù)消息的接收句柄而將該消息發(fā)送給擁有該窗口的程序的消息循環(huán)。每一個(gè)運(yùn)行的程序都有自己的消息循環(huán),在循環(huán)中得到屬于自己的消息并根據(jù)接收窗口的句柄調(diào)用相應(yīng)的窗口過程。而在沒有消息時(shí)消息循環(huán)就將控制權(quán)交給

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。