91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Windows核心編程(1)

發布時間:2020-07-31 04:28:01 來源:網絡 閱讀:707 作者:超級極客 欄目:編程語言

一、創建過程 消息循環

1.WinMain首先調用Api函數RegisterClass注冊一個窗口類,這個類定義

  了窗口重要屬性,如窗口過程地址, 默認背景色, 圖標. 通過WNDCLASS結構字段

來定義,  程序生成一個窗口時,必須制定窗口類, 在類被使用之前,必須先對其進行注冊,

這就是為什么RegisterClass在程序的開始即被調用的原因,

2.一旦WNDCLASS被注冊,WinMain講調用最重要的CreateWindow函數生成應用程序

3.一個MFC程序你看不到WinMain函數,他也不調用RegisterClass或CreateWIndow

由于生成沒有WS_VISIBLE所以在CreateWIndow之后要調用ShowWindow

它是窗口可見,并確保WM_PAINT消息處理程序立刻執行。

4.接下來就是消息循環,為了檢索并調度消息,WinMain執行一個簡單的反復調用

GetMessage,TranslateMessage,和DispatchMessage這3個API講函數的while循環語句

GetMessage檢查消息隊列,如果某個消息是有效的,則講它從隊列刪除并復制到msg

否則GetMessage將停留到消息隊列上知道消息有效, msg是MSG的一個實例

其知道保包含相關的消息參數,

例如消息ID和消息被放置在隊列中的時間,  TranslateMessage函數將一個指示字符鍵的鍵盤

消息轉換成容易使用的WM_CHAR消息,DispatchMessage函數則講消息發送給窗口過程,

5.消息循環一直循環到GetMessage函數返回0值時結束, 這個只有WM_QUIT消息從消息隊列中

被檢索到時才發生,.這是WinMain結束,程序終止.

6.由DispatchMessage函數調度的消息將生產對窗口過程WinProc的調用, 其他沒有被處理

的消息傳遞給了DefWindowProc函數進行默認處理,

7.窗口類是Windows系統的數據結構, 窗口類包含窗口重要信息,如窗口風格,窗口消息處理WndProc

窗口的光標等




二、應用程序對象

  1. MFC應用核心是基于CWinApp類對象,CWinApp提供了消息循環并來檢索消息,

    并將消息調度給應用程序窗口

   2.覆蓋ExitInstance在應用程序終止后調用,是釋放資源的完美地方,覆蓋要確保調用基類






三、框架窗口對象

1.MFC的CWnd類機器派生類為窗口或應用程序創建的窗口提供面向對象接口

窗口類是從CMainWindow是從CFrameWnd類派生的,后者又是從CWnd派生

CFrameWnd模仿框窗口的行為,

2.客戶區和非客戶區

窗口的非客戶區包含標題欄.菜單欄,窗口邊框

客戶區指除非客戶區之外的區域,都是客戶區

3.窗口樣式 是影響窗口外觀和行為的一組屬性集合

采用WS為前綴的宏定義

WS_BORDER創建有邊框的窗口

WS_CAPTION創建有標題欄的窗口

WS_CHILD創建一個子窗口 等等...

4.窗口擴展樣  一般用WS_EX_為前綴的宏定義

WS_EX_CLIENTEDGE指明窗口具有3D外觀

WS_EX_APPWINDOW當窗口可見時,將窗口放置在任務欄

WS_EX_CONTROLPARENT允許用戶TAB鍵遍歷子窗口 ...



四、窗口的Z-Order與桌面窗口

  1. 窗口Z-Order的概念

屏幕一般X軸Y軸表示平面位置,而以Z軸表示前后位置,X軸從左向右

Z軸從屏幕內指向屏幕外,Z-Order值表示窗口的前后順序,Z-Order值越大,在屏幕顯示越靠近用戶

2.桌面窗口

桌面窗口就是系統桌面對應的窗口,桌面窗口與其它的關系是,桌面窗口在最底層,其它窗口

在它之上,所有它的Z-Order值最小。



五、父窗口和所有者窗口

  1. 父窗口與所有者窗口的名次

窗口之間有兩種關系, 一種是owner-owner關系 和 parent-child關系

前者是所有/被所有關系, 后者是父/子關系, owner稱為所有窗口,parent為父窗口


2.父窗口與子窗口的關系

子窗口是嵌在父窗口上面的,就像是釘在父窗口上面的感覺,子窗口顯示區域不能超過

父窗口的顯示區域,超出的不顯示,當父窗口被隱藏時,它的所有子窗口也被隱藏,

當父窗口銷毀時,它擁有所有子窗口都被銷毀.


3.所有者窗口與被所有者窗口的關系

被所有的窗口永遠顯示在所有者窗口之上,當所有者窗口最小化時,被所有窗口會自動隱藏

當所有窗口銷毀時,被所有的窗口就會被銷毀, 當所有者窗口移動時,被所有的窗口不一起移動,

被所有窗口可以在所有者窗口區域之外的位置顯示.






向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄樊市| 平果县| 聂拉木县| 临猗县| 福贡县| 班戈县| 运城市| 邢台县| 仲巴县| 延边| 南部县| 汨罗市| 西城区| 中江县| 奈曼旗| 通城县| 武隆县| 屯门区| 巴马| 民丰县| 山丹县| 寻甸| 汉阴县| 山阴县| 稷山县| 新竹市| 潞西市| 白朗县| 应城市| 兴安盟| 盐边县| 四平市| 达日县| 福安市| 乌拉特中旗| 南木林县| 石首市| 延吉市| 宣武区| 资兴市| 和静县|