新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MFC和Win32技術(shù)應(yīng)用分析

        MFC和Win32技術(shù)應(yīng)用分析

        作者: 時(shí)間:2018-09-05 來(lái)源:網(wǎng)絡(luò) 收藏

        本文引用地址:http://www.104case.com/article/201809/388505.htm

        “窗口類”的數(shù)據(jù)結(jié)構(gòu)

        “窗口類”是Windows系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),可以把它理解為Windows系統(tǒng)的類型定義,而Windows窗口則是相應(yīng)“窗口類”的實(shí)例。Windows使用一個(gè)結(jié)構(gòu)來(lái)描述“窗口類”,其定義如下:

        typedef struct _WNDCLASSEX {

        UINT cbSize; //該結(jié)構(gòu)的字節(jié)數(shù)

        UINT style; //窗口類的風(fēng)格

        WNDPROC lpfnWndProc; //窗口過(guò)程

        int cbClsExtra;

        int cbWndExtra;

        HANDLE hInstance; //該窗口類的窗口過(guò)程所屬的應(yīng)用實(shí)例

        HICON hIcon; //該窗口類所用的像標(biāo)

        HCURSOR hCursor; //該窗口類所用的光標(biāo)

        HBRUSH hbrBackground; //該窗口類所用的背景刷

        LPCTSTR lpszMenuName; //該窗口類所用的菜單資源

        LPCTSTR lpszClassName; //該窗口類的名稱

        HICON hIconSm; //該窗口類所用的小像標(biāo)

        } WNDCLASSEX;

        從“窗口類”的定義可以看出,它包含了一個(gè)窗口的重要信息,如窗口風(fēng)格、窗口過(guò)程、顯示和繪制窗口所需要的信息,等等。關(guān)于窗口過(guò)程,將在后面消息映射等有關(guān)章節(jié)作詳細(xì)論述。

        Windows系統(tǒng)在初始化時(shí),會(huì)注冊(cè)(Register)一些全局的“窗口類”,例如通用控制窗口類。應(yīng)用程序在創(chuàng)建自己的窗口時(shí),首先必須注冊(cè)自己的窗口類。在MFC環(huán)境下,有幾種方法可以用來(lái)注冊(cè)“窗口類”,下面分別予以討論。

        調(diào)用AfxRegisterClass注冊(cè)

        AfxRegisterClass函數(shù)是MFC全局函數(shù)。AfxRegisterClass的函數(shù)原型:

        BOOL AFXAPI AfxRegisterClass(WNDCLASS *lpWndClass);

        參數(shù)lpWndClass是指向WNDCLASS結(jié)構(gòu)的指針,表示一個(gè)“窗口類”。

        首先,AfxRegisterClass檢查希望注冊(cè)的“窗口類”是否已經(jīng)注冊(cè),如果是則表示已注冊(cè),返回TRUE,否則,繼續(xù)處理。

        接著,調(diào)用::RegisterClass(lpWndClass)注冊(cè)窗口類;

        然后,如果當(dāng)前模塊是DLL模塊,則把注冊(cè)“窗口類”的名字加入到模塊狀態(tài)的域m_szUnregisterList中。該域是一個(gè)固定長(zhǎng)度的緩沖區(qū),依次存放模塊注冊(cè)的“窗口類”的名字(每個(gè)名字是以“n

        主站蜘蛛池模板: 巩留县| 龙井市| 山东省| 兴仁县| 堆龙德庆县| 黎平县| 黑河市| 武川县| 永定县| 兴业县| 玉门市| 高雄县| 晋州市| 临汾市| 绥中县| 建平县| 孟村| 绵阳市| 屏山县| 光泽县| 东乌珠穆沁旗| 金乡县| 高清| 巴东县| 长沙市| 神池县| 广汉市| 沽源县| 崇州市| 阜平县| 桂东县| 甘泉县| 汶上县| 嘉黎县| 昌平区| 贡山| 调兵山市| 贵溪市| 福州市| 荣成市| 扬中市|