http://www.enet.com.cn/eschool/zhuanti/vc++/
視頻特色 視頻共分20課,平均每課兩個多小時。本套視頻由孫鑫老師親自授課錄製,內容涵蓋面廣,從入門到精通,授課通俗易懂,分析問題獨到精闢,絕對是目前國內頂級的VC++教學視頻。學員通過本套光碟片的學習,能夠快速掌握VC++,進一步精通VC++。 1、循序漸進 從Win32SDK編程開始講解,協助大家理解和掌握Windows編程的核心 —— 訊息迴圈機制。2、通俗易懂 程式設計語言枯燥難懂,然而通過孫鑫老師形象化的講解,Windows和MFC編程中的痛點、重點,讓您輕鬆掌握。 3、實戰性強 編程中要注意什嗎?如何閱讀出錯提示?如何調試運行程式?如何排查錯誤,解決問題?通過孫鑫老師一步一步地操作講解,帶您迅速掌握程式開發的全過程。 4、內容全面 Windows編程知識,VC++物件導向的編程思想,MFC編程,涵蓋了軟體開發中的絕大部分應用,以及在以後開發中可能出現的問題,由孫鑫老師一一幫您剖析。 5、講解深刻 在一些重痛點知識以及屬於作業系統核心編程方面的知識,孫鑫老師都將幫您剖析其本質,講解其背後啟動並執行原理,讓您從根本上理解、掌握並靈活運用這些知識。6、問答形式 在講解一些重要知識點的時候,孫鑫老師會提出一些問題,引領大家思考,而這些問題正好是您在理解這些知識點時將要產生的疑問,在您還沒有提出疑問時,孫鑫老師就會告訴您如何理解和解決這些問題了。 內容介紹
Lesson1:Windows程式運行原理及程式編寫流程,視窗產生過程,控制代碼原理,訊息佇列,回呼函數,視窗關閉與應用程式退出的工作關係,使用VC++的若干小技巧,stdcall與cdecl調用規範的比較,初學者常犯錯誤及注意事項。
Lesson2:C++經典文法與應用,類的編寫與應用,構造與解構函式,函數的重載,類的繼承,函數覆蓋,基類與衍生類別的建構函式、解構函式先後調用順序,如何在衍生類別建構函式中向基類的建構函式傳遞參數,this成員變數,類型轉換的內幕,虛擬函數與多態性,引用和指標變數的區別與共同處。VC工程的編譯原理與過程,將工程中不同的類拆分到不同的檔案中,每一個類由一個.h和.cpp檔案共同完成,標頭檔重複定義問題的解決,培養了學員良好的編程習慣,也為以後分析MFC AppWizard產生的工程奠定了良好基礎。
Lesson3:講述MFC AppWizard的原理與MFC程式架構的剖析。AppWizard是一個原始碼產生工具,是電腦輔助程式設計工具,WinMain在MFC程式中是如何從來源程式中被隱藏的,theApp全域變數是如何被分配的,MFC架構中的幾個類的作用與相互關係,MFC架構視窗是如何產生和銷毀的,對視窗類別的PreCreateWidow和OnCreate兩個函數的著重分析,Windows視窗與C++中的CWnd類的關係。
Lesson4:MFC訊息映射機制的剖析,講述如何運用ClassWizard,,理解發送給視窗的訊息是如何被MFC架構通過視窗控制代碼映射表和訊息映射表來用視窗類別的函數進行響應的。掌握裝置描述表及其封裝類CDC的使用,CDC是如何與具體的裝置發生關聯的,融合具體的畫圖程式進行分析。如何設定封閉圖形的填充刷子(位元影像畫刷與透明畫刷的使用)。
Lesson5:掌握CDC的文文書處理程式的編寫,如何產生自訂字型和自訂插入符,熟悉對CString類的使用。通過對卡拉OK程式的編寫,講解定時器的使用和DrawText函數的巧妙運用。講解如何使用CDC的裁減功能。
Lesson6:菜單的工作原理及編寫應用,功能表命令訊息在MFC架構程式的幾個類中的行程順序和處理過程。標記菜單、預設菜單的實現原理、圖形菜單的實現及常犯錯誤的分析,GetSystemMetrics的應用,快捷快顯功能表的實現方式及其命令響應函數有效範圍(與快顯功能表時所指定的父視窗有密切的關係,最底層的子視窗具有最優先的處理機會)。動態菜單的編寫,如何讓程式在運行時產生新的功能表項目及如何手工為這些新產生的功能表命令安排處理函數,如何在頂層視窗中截獲對功能表命令的處理,更進一步掌握CString類的應用。
Lesson7:對話方塊使用者介面程式的編寫,如何向對話方塊控制項關聯資料成員及其實現機理,如何利用對話方塊類的成員函數向控制項發送訊息和擷取對話方塊控制項的類指標,如何直接利用對話方塊控制項類操縱對話方塊控制項(發送訊息和直接調用成員函數)。如何在程式運行時產生和銷毀控制項。對話方塊控制項的幾種操作方式的優劣比較分析。如何?對話方塊的部分收縮和展開。如何讓對話方塊上的文字框在程式啟動後立即獲得焦點,如何利用SetWindowLong改變視窗的回呼函數,通過改變文字框的預設斷行符號處理方式進行示範。實現多個輸入文字框間通過斷行符號逐一向下傳遞焦點的另一種巧妙方法(用預設按鈕來處理)。
Lesson8:逃跑按鈕的巧妙實現。如何製作屬性頁面對話方塊和嚮導對話方塊,融合講解組合框(如何調整組合框的大小)、列表框、選項按鈕、複選按鈕等常用對話方塊控制項的多種使用方法。如何限制使用者在不滿足設定的條件時切換到其他屬性頁面和嚮導頁。
Lesson9:如何修改MFC AppWizard嚮導產生的架構程式的外觀和大小,修改表徵圖、游標、背景的三種方法。如何增加和移除工具欄按鈕,如何給應用程式增加工具列,如何顯示和隱藏工具列。定製狀態列,在狀態列中添加時鐘顯示,CTime類及其用法。在狀態列中添加進度條(主視窗產生後立即產生進度條的巧妙思想,不能在OnCreate函數中直接處理,要用到自訂訊息的方法)。滑鼠座標顯示,在CView中擷取狀態列對象的幾種方式。如何為應用程式添加啟動畫面。
Lesson10:圖形的繪製,如何使用自訂畫筆(顏色,線寬,線型)。如何為程式中添加選項菜單和選項設定對話方塊,如何使用標準顏色對話方塊,如何使用字型對話方塊,在選項對話方塊中實現預覽功能。實現選項對話方塊和視窗類別中的資料交換。如何改變對話方塊和控制項的背景色,如何改變控制項的文本顏色,對按鈕控制項的特殊處理。如何在視窗中顯示一幅位元影像。
Lesson11:如何讓CDC上輸出的文字、圖形具有保持功能,集合類CPtrArray的使用,CPaintDC與CClientDC的區別與應用,OnPaint與OnDraw在CView中的關係及實現內幕,滾動視窗的實現,座標空間,映射方式,裝置座標與邏輯座標的轉換。元檔案裝置描述表的使用,如何利用相容DC實現圖形的儲存和再現。
Lesson12:const char *與char * const的區別。C語言對檔案讀寫的支援,FILE指標;文字檔和二進位檔案的區別。用文本方式讀寫檔案和以二進位方式讀寫檔案的注意事項。C++對檔案讀寫的支援,ofstream和ifstream的用法。Win32 SDK對檔案讀寫的支援,CreateFile函數、WriteFile函數、ReadFile函數的使用;MFC對檔案讀寫的支援,CFile類和CFileDialog的使用,檔案過濾器的設定。win.ini檔案和註冊表的讀寫方式及相關知識點。
Lesson13:使用CArchive類對檔案進行操作。MFC架構程式提供的檔案建立與開啟功能內部的實現機制。如何利用CDocument類的序列化儲存功能儲存與載入資料。如何?類對序列化的支援,CObArray的序列化實現內幕。刪除文檔資料時常犯的錯誤。MFC架構程式的文檔類和視類的關係,以及如何獲得相互的指標引用。
Leo14:網路的相關知識,網路程式的編寫,Socket是串連應用程式與網路驅動程式的橋樑,Socket在應用程式中建立,通過bind與驅動程式建立關係。此後,應用程式送給Socket的資料,由Socket交給驅動程式向網路上發送出去。電腦從網路上收到與該Socket綁定的IP+Port相關的資料後,由驅動程式交給Socket,應用程式便可從該Socket中提取接收到的資料。網路應用程式就是這樣通過socket進行資料的發送與接收的。TCP與UDP的工作原理與編寫過程,如何在程式中連結庫檔案。一個字元介面的聊天程式。
Lesson15:多線程程式的編寫,多線程應用中容易出現的問題。互斥對象的講解,如何使用互斥對象來實現多線程的同步。如何利用命名互斥對象保證應用程式只有一個執行個體運行。應用多線程編寫網路聊天室程式。
Lesson16:事件核心對象、關鍵程式碼片段(臨界區)的講解,以及在多線程同步中的應用。在Windows下編寫基於訊息的網路應用程式,掌握阻塞與非阻塞網路程式的編寫,理解在Windows平台下,採用非同步選擇機制可以提高網路應用程式的效能。
Lesson17:詳細講解進程間通訊的四種方式:剪貼簿、匿名管道、具名管道和郵槽。並比較分析這幾種處理序間通訊的優點和缺點。
Lesson18:ActiveX控制項的應用與工作原理。ActiveX控制項的編寫,如何為控制項安排屬性,方法,事件,屬性頁面,持久性儲存,控制項如何通知容器自身屬性的改變。如何註冊控制項與取消控制項註冊。在VB和VC中訪問ActiveX控制項。
Lesson19:動態連結程式庫程式的編寫。靜態庫與動態庫的區別,以及調用程式在連結靜態庫和動態庫時的區別。如何利用工具查看動態連結程式庫輸出的函數,Depends工具的使用,C++編譯器名字改編技術對動態連結程式庫輸出函數的影響,extern "C"的用法,利用模組定義檔案來解決C++名字改編的問題。用typedef定義指向函數的指標類型,如何獲得動態串連庫裡的函數的指標。
Lesson20:Hook編程。如何安裝鉤子過程,如何編寫全域鉤子,動態串連庫裡的全域變數資料共用問題分析。ADO資料庫編程。在VB中利用ADO控制項和ADO對象訪問資料庫,在VC中利用ADO技術訪問資料庫。