【繼續MFC】常用MFC類–CBitmap,CBrush,CButton

來源:互聯網
上載者:User

CBitmap

CObject
 └CGdiObject
    └CBitmap

類CBitmap封裝了Windows圖形裝置介面(GDI)中的位元影像,並且提供了操縱位元影像的成員函數。使用CBitmap對象之前要先構造CBitmap對象,調用其中的一個初始化成員函數設定位元影像對象的控制代碼。此後就可以調用其它成員函數了。要瞭解有關使用像CBitmap這樣的繪圖物件的詳細資料,請參閱聯機文檔“Visual C++ 程式員指南”中的“繪圖物件”。
#include <afxwin.h>

CBitmap類的成員

建構函式

CBitmap 構造一個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類的成員

建構函式

CBrush 構造一個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類的成員

建構函式

CButton 構造一個CButton對象

初始化函數

Create 建立Windows按鈕控制項並在CButton對象上應用

操作

GetState 檢索按鈕控制項的選中狀態、加亮狀態和獲得焦點狀態
SetState 設定按鈕控制項的加亮狀態
GetCheck 檢索按鈕控制項的選中狀態
SetCheck 設定按鈕控制項的選中狀態
GetButtonStyle 檢索按鈕控制項的風格
SetButtonStyle 設定按鈕控制項的風格
GetIcon 檢索此前調用SetIcon設定的表徵圖控制代碼
SetIcon 指定一個在按鈕上顯示的表徵圖
GetBitmap 檢索此前調用SetBitmap設定的位元影像的控制代碼
SetBitmap 設定在按鈕上顯示的位元影像
GetCursor 檢索此前調用SetCursor設定的游標映像的控制代碼
SetCursor 設定在按鈕上顯示的游標映像

可覆蓋的函數

DrawItem 可以覆蓋它來繪製自訂的CButton對象

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.