原创 程序窗口消亡過程

1.點擊右上角的關閉按鈕->發送WM_CLOSE-》調用DefWindowProc,進行一些清理操作(如果沒有映射WM_CLOSE消息的話,如果映射了,調用OnClose清理,CWnd的OnClose也會調用DefWindowProc進行

原创 文檔視圖相關類的聯繫

CWinApp     1.保護成員CDocManager *m_pDocManager,指向一個文檔管理對象,CWinApp很多對文檔視圖的操作都是調用這個對象的方法          2.GetFirstDocTemplatePos

原创 OnCreated和OnInitDialog

OnCreated的時候窗口還沒有完全建立,你可以給成員變量賦值,也可以修改窗口的基本內容比如風格,但是不能對窗口控件操作,因爲窗口還沒有建立。    OnInitDialog的時候窗口已經建立,你可以移動窗口,修改風格等等,也可以給成

原创 MSXML4操作

1.用#import <msxml4.dll>引入msxml4,#import是COM專用,他是把COM的type library轉成c++能用的頭文件 2.IXMLDomDocument2Ptr pXMLDoc:代表整個DOM文檔 3.

原创 PeekMessage

該函數爲一個消息檢查線程消息隊列,並將該消息(如果存在)放於指定的結構。    函數原型:BOOL PeekMessage(LPMSG IpMsg,HWND hWnd,UINT wMSGfilterMin,UINT wMsgFilter

原创 命令消息路由

  一般消息和控件都會沿着父類或父窗一直向上傳遞,但是命令消息會有一個算法進行路由,路由圖見下:    1.從View開始查看是否有處理函數,而後一旦有處理函數就會終止流動 2.到CWinApp後,調用默認的OnCmdMsg(沒有重寫時

原创 C#筆記3

1.C#中也有抽象類,用abstract修飾,裏面含有用abstract修飾的方法: abstract class A { public abstract void F(); } abstract class B: A {

原创 網絡知識筆記2

1.傳輸層:提供數據的可靠或不可靠傳輸。(TCP,UDP) 2.TCP/IP分層:鏈路層->網絡層(IP層)->傳輸層->應用層  3.UDP發送的數據報,每個數據報有“消息保護邊界”,一次收發數據報不會跨越邊界,如發送方發送大小爲20

原创 多線程筆記1

1.如果不額外開設線程,消息循環和消息處理函數在一個線程裏執行 2.ExitThread介紹線程本身: void ExitThread(DWORD dwExitCode); Parameters: dwExitCode [in] Exit

原创 OnIdle:MFC空閒處理

當沒有任何 Windows 消息正在被處理時,框架調用 CWinApp 的成員函數 OnIdle(如“MFC 庫參考”中所述)。 重寫 OnIdle 以執行後臺任務。默認版本更新用戶界面對象(如工具欄按鈕)的狀態,並對框架在操作期間創建的

原创 代碼:查找子窗口

1.一個窗口的標題就是主窗口顯示時左上角的窗口名,用GetWindowText獲取;一個窗口的類名是註冊這個窗口時的窗口類名,用GetClassName獲取。 2.MFC在preCreateWindow中註冊窗口類,根據窗口類型不同註冊6

原创 進程通訊1----WM_COPYDATA消息和自定義消息

使用粘剪板即在線程之間發送WM_COPYDATA消息,前提是:  1,知道接收消息進程的句柄。          2,接收消息進程重載了WM_COPYDATA消息映射,能對其做出反應(否則不是發送端自作多情了?)   獲得句柄的方法,最

原创 窗口位置相關的函數和概念

1.FindWindow       函數原型:  HWND FindWindow  (      LPCTSTR lpClassName,      LPCTSTR lpWindowName          );       一般把l

原创 MFC框架流程圖

<script src="http://www.best4c.com/js/pasteblog.js" type="text/javascript"></script> 1.註冊窗口時會選擇六種窗口中的一種註冊。 2.AfxWinInit

原创 FrameWnd,View和Docment的手工創建

以下爲MDI下,FrameWnd,View和Docment的手工創建的過程,首先,框架在InitInstance中把主框架創建出來了,並把需要的文檔模板用成員變量保存了起來,用戶點擊主框架中的新建菜單:  1.修改消息映射表中對ID_FI