CBitmap
| CObject |
| └CGdiObject |
| └CBitmap |
類CBitmap封裝了Windows圖形裝置介面(GDI)中的位元影像,並且提供了操縱位元影像的成員函數。使用CBitmap對象之前要先構造CBitmap對象,調用其中的一個初始化成員函數設定位元影像對象的控制代碼。此後就可以調用其它成員函數了。要瞭解有關使用像CBitmap這樣的繪圖物件的詳細資料,請參閱聯機文檔“Visual C++ 程式員指南”中的“繪圖物件”。
#include <afxwin.h>
CBitmap類的成員
建構函式
初始化函數
| LoadBitmap |
從應用的可執行檔中載入一個命名的位元影像資源來初始化位元影像對象 |
| LoadOEMBitmap |
載入一個預定義的Windows位元影像來初始化位元影像對象 |
| LoadMappedBitmap |
載入一個位元影像並把它的顏色映射為系統色彩 |
| CreateBitmap |
用一個指定寬度、高度和位元影像模式的依賴於裝置的記憶體位元影像初始化位元影像對象 |
| CreateBitmapIndirect |
用BITMAP結構中給出的寬度、高度和模式(可以不指定)的位元影像初始化位元影像對象 |
| CreateCompatibleBitmap |
用一個位元影像初始化對象使之與指定裝置相容 |
| CreateDiscardableBitmap |
用一個可丟棄的、與指定裝置相容的位元影像初始化對象 |
屬性
| GetBitmap |
用位元影像資訊填充BITMAP結構 |
| operator HBITMAP |
返回CBitmap對象上的Windows控制代碼 |
操作
| FromHandle |
給出Windows HBITMAP結構的指標時,返回指向CBitmap對象的指標 |
| SetBitmapBits |
把位元影像的位設為指定的值 |
| GetBitmapBits |
拷貝指定位元影像的位值到指定的緩衝 |
| SetBitmapDimension |
設定位元影像的寬度和高度(以0.1毫米為單位) |
| GetBitmapDimension |
返回位元影像的寬度和高度。要求已經調用SetBitmapDimension設定位元影像的寬度和高度 |
CBrush
| CObject |
| └CGdiObject |
| └CBrush |
類CBrush封裝了Windows圖形裝置介面(GDI)中的畫刷。使用CBrush對象之前要構造它,然後傳給需要畫刷的CDC成員函數。畫刷可以是實線的、陰影線的或圖案的。要瞭解有關畫刷的更詳細資料,請參閱聯機文檔“Visual C++程式員指南”中的“繪圖物件”部分。
#include <afxwin.h>
CBrush類的成員
建構函式
初始化函數
| CreateSolidBrush |
用指定的實線初始化畫刷 |
| CreateHatchBrush |
用指定的陰影線初始化畫刷 |
| CreateBrushIndirect |
用結構LOGBRUSH中指定的風格、顏色和模式初始化畫刷 |
| CreatePatternBrush |
用位元影像指定的模式初始化畫刷 |
| CreateDIBPatternBrush |
用獨立於裝置的位元影像(DIB)初始化畫刷 |
| CreateSysColorBrush |
建立一個使用系統預設顏色的畫刷 |
操作
| FromHandle |
給出一個Windows HBRUSH物件控點時,返回一個指向CBrush對象的指標 |
屬性
| GetLogBrush |
取得一個LOGBRUSH結構 |
| operator HBRUSH |
返回CBrush對象上的Windows控制代碼 |
CButton
| CObject |
| └CCmdTarget |
| └CWnd |
| └CButton |
類CButton提供了對Windows按鈕控制項的操作。按鈕控制項是一個小的矩形子視窗,可以通過單擊選中(按下)或不選中。按鈕可以單獨使用,也可以成組使用,它還可以具有文本標題。在使用者單擊它的時候,按鈕通常要改變顯示外觀。
典型的按鈕控制項有:複選框、單選鈕和下壓式按鈕(push button)。一個CButton對象可以是它們中的一種,這由它的按鈕風格和成員函數Create的初始化決定。
此外,類CButtonBitmap是從類CButton繼承而來的,不過它支援按鈕的映像標籤。一個CButtonBitmap對象可以分別為它的四種狀態(未按下、按下、獲得焦點和禁止存取)設定不同的位元影像。
既可以從對話方塊模板中建立一個按鈕控制項,也可以直接在代碼中建立。
無論哪種情況,都要先調用建構函式CButton構造一個CButton對象,然後調用成員函數Create建立Windows按鈕控制項並應用到CButton對象上。
在一個從類CButton派生出來的類中,構造可以一步完成。程式員可以為這個衍生類別編寫一個建構函式,並在其中調用Create函數。
如果想處理Windows的通知訊息,如位元影像按鈕控制項發給它的父物件(通常是從CDialog繼承來的)的訊息,就要在父物件中加入訊息映射入口以及處理每個訊息的成員函數。
每個訊息映射入口的格式如下:
ON_Notification(id, memberFxn)
其中id指定了發送通知的控制項的子視窗的ID,而memberFxn指定了處理該通知的父物件中的成員函數名。
父物件的函數原型格式如下:
afx_msg void memberFxn( );
可能的訊息映射入口如下:
| 映射入口 |
何時向父物件發送訊息 |
| ON_BN_CLICKED |
使用者單擊按鈕時 |
| ON_BN_DOUBLECLICKED |
使用者雙擊按鈕時 |
如果在對話方塊資源中建立了CButton對象,則在使用者關閉該對話方塊時會自動撤消這個CButton對象。如果在視窗中建立了CButton對象,就可能需要自己撤消它。如果是用new函數在記憶體的堆中建立該對象的,則在使用者關閉該視窗按鈕控制項時,必須用delete函數撤消它。如果在堆棧中建立了該對象,或者它嵌入在父對話方塊對象中,系統會自動撤消它。
#include <afxwin.h>
CButton類的成員
建構函式
初始化函數
| Create |
建立Windows按鈕控制項並在CButton對象上應用 |
操作
| GetState |
檢索按鈕控制項的選中狀態、加亮狀態和獲得焦點狀態 |
| SetState |
設定按鈕控制項的加亮狀態 |
| GetCheck |
檢索按鈕控制項的選中狀態 |
| SetCheck |
設定按鈕控制項的選中狀態 |
| GetButtonStyle |
檢索按鈕控制項的風格 |
| SetButtonStyle |
設定按鈕控制項的風格 |
| GetIcon |
檢索此前調用SetIcon設定的表徵圖控制代碼 |
| SetIcon |
指定一個在按鈕上顯示的表徵圖 |
| GetBitmap |
檢索此前調用SetBitmap設定的位元影像的控制代碼 |
| SetBitmap |
設定在按鈕上顯示的位元影像 |
| GetCursor |
檢索此前調用SetCursor設定的游標映像的控制代碼 |
| SetCursor |
設定在按鈕上顯示的游標映像 |
可覆蓋的函數
| DrawItem |
可以覆蓋它來繪製自訂的CButton對象 |