一、創(chuàng)建過程 消息循環(huán)
站在用戶的角度思考問題,與客戶深入溝通,找到金東網(wǎng)站設(shè)計與金東網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋金東地區(qū)。1.WinMain首先調(diào)用Api函數(shù)RegisterClass注冊一個窗口類,這個類定義
了窗口重要屬性,如窗口過程地址, 默認背景色, 圖標. 通過WNDCLASS結(jié)構(gòu)字段
來定義, 程序生成一個窗口時,必須制定窗口類, 在類被使用之前,必須先對其進行注冊,
這就是為什么RegisterClass在程序的開始即被調(diào)用的原因,
2.一旦WNDCLASS被注冊,WinMain講調(diào)用最重要的CreateWindow函數(shù)生成應用程序
3.一個MFC程序你看不到WinMain函數(shù),他也不調(diào)用RegisterClass或CreateWIndow
由于生成沒有WS_VISIBLE所以在CreateWIndow之后要調(diào)用ShowWindow
它是窗口可見,并確保WM_PAINT消息處理程序立刻執(zhí)行。
4.接下來就是消息循環(huán),為了檢索并調(diào)度消息,WinMain執(zhí)行一個簡單的反復調(diào)用
GetMessage,TranslateMessage,和DispatchMessage這3個API講函數(shù)的while循環(huán)語句
GetMessage檢查消息隊列,如果某個消息是有效的,則講它從隊列刪除并復制到msg
否則GetMessage將停留到消息隊列上知道消息有效, msg是MSG的一個實例
其知道保包含相關(guān)的消息參數(shù),
例如消息ID和消息被放置在隊列中的時間, TranslateMessage函數(shù)將一個指示字符鍵的鍵盤
消息轉(zhuǎn)換成容易使用的WM_CHAR消息,DispatchMessage函數(shù)則講消息發(fā)送給窗口過程,
5.消息循環(huán)一直循環(huán)到GetMessage函數(shù)返回0值時結(jié)束, 這個只有WM_QUIT消息從消息隊列中
被檢索到時才發(fā)生,.這是WinMain結(jié)束,程序終止.
6.由DispatchMessage函數(shù)調(diào)度的消息將生產(chǎn)對窗口過程WinProc的調(diào)用, 其他沒有被處理
的消息傳遞給了DefWindowProc函數(shù)進行默認處理,
7.窗口類是Windows系統(tǒng)的數(shù)據(jù)結(jié)構(gòu), 窗口類包含窗口重要信息,如窗口風格,窗口消息處理WndProc
窗口的光標等
二、應用程序?qū)ο?/p>
MFC應用核心是基于CWinApp類對象,CWinApp提供了消息循環(huán)并來檢索消息,
并將消息調(diào)度給應用程序窗口
2.覆蓋ExitInstance在應用程序終止后調(diào)用,是釋放資源的完美地方,覆蓋要確保調(diào)用基類
三、框架窗口對象
1.MFC的CWnd類機器派生類為窗口或應用程序創(chuàng)建的窗口提供面向?qū)ο蠼涌?/p>
窗口類是從CMainWindow是從CFrameWnd類派生的,后者又是從CWnd派生
CFrameWnd模仿框窗口的行為,
2.客戶區(qū)和非客戶區(qū)
窗口的非客戶區(qū)包含標題欄.菜單欄,窗口邊框
客戶區(qū)指除非客戶區(qū)之外的區(qū)域,都是客戶區(qū)
3.窗口樣式 是影響窗口外觀和行為的一組屬性集合
采用WS為前綴的宏定義
WS_BORDER創(chuàng)建有邊框的窗口
WS_CAPTION創(chuàng)建有標題欄的窗口
WS_CHILD創(chuàng)建一個子窗口 等等...
4.窗口擴展樣 一般用WS_EX_為前綴的宏定義
WS_EX_CLIENTEDGE指明窗口具有3D外觀
WS_EX_APPWINDOW當窗口可見時,將窗口放置在任務(wù)欄
WS_EX_CONTROLPARENT允許用戶TAB鍵遍歷子窗口 ...
四、窗口的Z-Order與桌面窗口
窗口Z-Order的概念
屏幕一般X軸Y軸表示平面位置,而以Z軸表示前后位置,X軸從左向右
Z軸從屏幕內(nèi)指向屏幕外,Z-Order值表示窗口的前后順序,Z-Order值越大,在屏幕顯示越靠近用戶
2.桌面窗口
桌面窗口就是系統(tǒng)桌面對應的窗口,桌面窗口與其它的關(guān)系是,桌面窗口在最底層,其它窗口
在它之上,所有它的Z-Order值最小。
五、父窗口和所有者窗口
父窗口與所有者窗口的名次
窗口之間有兩種關(guān)系, 一種是owner-owner關(guān)系 和 parent-child關(guān)系
前者是所有/被所有關(guān)系, 后者是父/子關(guān)系, owner稱為所有窗口,parent為父窗口
2.父窗口與子窗口的關(guān)系
子窗口是嵌在父窗口上面的,就像是釘在父窗口上面的感覺,子窗口顯示區(qū)域不能超過
父窗口的顯示區(qū)域,超出的不顯示,當父窗口被隱藏時,它的所有子窗口也被隱藏,
當父窗口銷毀時,它擁有所有子窗口都被銷毀.
3.所有者窗口與被所有者窗口的關(guān)系
被所有的窗口永遠顯示在所有者窗口之上,當所有者窗口最小化時,被所有窗口會自動隱藏
當所有窗口銷毀時,被所有的窗口就會被銷毀, 當所有者窗口移動時,被所有的窗口不一起移動,
被所有窗口可以在所有者窗口區(qū)域之外的位置顯示.
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。