MFC類(lèi)庫(kù)中有哪些可視對(duì)象類(lèi)
MFC(Microsoft Foundation Classes)是微軟基礎(chǔ)類(lèi)庫(kù)的簡(jiǎn)稱(chēng),是微軟公司實(shí)現(xiàn)的一個(gè)C 類(lèi)庫(kù),主要封裝了大部分的Windows API函數(shù)。本文將介紹MFC類(lèi)庫(kù)中的一些常見(jiàn)可
MFC(Microsoft Foundation Classes)是微軟基礎(chǔ)類(lèi)庫(kù)的簡(jiǎn)稱(chēng),是微軟公司實(shí)現(xiàn)的一個(gè)C 類(lèi)庫(kù),主要封裝了大部分的Windows API函數(shù)。本文將介紹MFC類(lèi)庫(kù)中的一些常見(jiàn)可視對(duì)象類(lèi)。
1. CWnd類(lèi)
CWnd類(lèi)提供了MFC中所有窗口類(lèi)的基類(lèi)。CWnd與Windows窗口有所不同,但它們又是緊密相連的。CWnd對(duì)象是由CWnd的構(gòu)造函數(shù)和析構(gòu)函數(shù)建立和取消的,而Windows窗口與此不同,它是Windows的一個(gè)結(jié)構(gòu),是由Create成員函數(shù)建立的,DestroyWindow函數(shù)破壞Windows窗口而不是破壞對(duì)象。
(1) CWnd類(lèi)的公共數(shù)據(jù)成員:
- m_hWnd:標(biāo)識(shí)連接到該CWnd對(duì)象上的HWND。
(2) CWnd類(lèi)的初始化函數(shù):
- Create:創(chuàng)建并初始化與該CWnd對(duì)象相聯(lián)系的子窗口。
- PreCreateWindow:在建立連接到這個(gè)CWnd對(duì)象的Windows窗口之前調(diào)用此函數(shù)。
- GetStyle:返回當(dāng)前窗口的風(fēng)格。
- SubclassWindow:將一個(gè)窗口連接給一個(gè)CWnd對(duì)象并使其通過(guò)該CWnd的消息映射傳遞消息。
- FromHandle:給出一個(gè)窗口句柄時(shí),返回一個(gè)CWnd對(duì)象的指針。
- GetSafeHandle:返回m_hWnd;若此指針為NULL,則返回NULL。
2. 窗口狀態(tài)函數(shù)
- EnableWindow:允許或禁止鼠標(biāo)和鍵盤(pán)輸入。
- GetActiveWindow:獲取活動(dòng)的窗口。
- SetActiveWindow:激活窗口。
- SetFocus:請(qǐng)求輸入焦點(diǎn)。
- GetFocus:獲取當(dāng)前具有輸入焦點(diǎn)的CWnd。
3. 窗口大小和位置函數(shù)
- GetWindowPlacement:獲取一個(gè)窗口顯示狀態(tài)及正常、最小化和最大化的窗口位置。
- SetWindowPlacement:設(shè)置一個(gè)窗口顯示狀態(tài)及正常、最小化和最大化的窗口位置。
- MoveWindow:改變CWnd的位置和大小。
- SetWindowPos:改變子窗口、彈出式窗口和頂層窗口的大小、位置和次序。
- GetWindowRect:獲取CWnd的屏幕坐標(biāo)。
- GetClientRect:獲取CWnd客戶(hù)區(qū)的大小。
4. 訪問(wèn)窗口函數(shù)
- FindWindow:迅速返回由窗口類(lèi)和窗口名標(biāo)識(shí)的窗口句柄。
- GetTopWindow:返回屬于CWnd的第一個(gè)子窗口。
- GetParent:獲取CWnd的父窗口。
- GetDlgItem:由指定的對(duì)話框獲取具有指定ID的控件。
- GetDescendantWindow:查詢(xún)所有派生窗口,并返回具有指定ID的窗口。
- CenterWindow:將一個(gè)窗口相對(duì)于其父窗口居中定位。
5. 更新/繪制函數(shù)
- GetDC:獲取一個(gè)客戶(hù)區(qū)的設(shè)備描述表。
- GetWindowDC:獲取整個(gè)窗口的,包括標(biāo)題欄、菜單和滾動(dòng)條的設(shè)備描述表。
- ReleaseDC:釋放客戶(hù)區(qū)和窗口的設(shè)備描述表。
- Invalidate:使整個(gè)客戶(hù)區(qū)無(wú)效。
- ShowWindow:顯示或隱藏窗口。
6. 窗口文本函數(shù)
- SetWindowText:將窗口的標(biāo)題設(shè)置為指定的文本。
- GetWindowText:返回窗口的標(biāo)題。
- SetFont:設(shè)置當(dāng)前的字體。
- GetFont:獲取當(dāng)前的字體。
7. 滾動(dòng)函數(shù)
- GetScrollPos:獲取滾動(dòng)條的當(dāng)前位置。
- ScrollWindow:卷滾客戶(hù)區(qū)的內(nèi)容。
- SetScrollPos:設(shè)置一個(gè)滾動(dòng)框的當(dāng)前位置,若指定新位置,則重畫(huà)滾動(dòng)條。
8. 菜單函數(shù)
- GetMenu:獲取指向指定菜單的指針。
- SetMenu:將菜單設(shè)置為指定的菜單。
- HiliteMenuItem:在一個(gè)頂層菜單上高亮度顯示或除去高亮度顯示。
9. 剪貼板函數(shù)
- OpenClipboard:打開(kāi)剪貼板。
- GetClipboardOwner:獲取指向剪貼板的當(dāng)前擁有者的指針。
- GetOpenClipboardWindow:獲取指向當(dāng)前剪貼板窗口的指針。