MFC - 點陣圖按鈕



一個點陣圖按鈕在其表面顯示圖片或圖片和文字。這通常是為了使按鈕更明確。點陣圖按鈕是使用CBitmapButton 類建立的,該類派生自 CButton。

以下是 CBitmapButton 類中的方法列表。

序號 名稱和描述
1

AutoLoad

將對話方塊中的按鈕與 CBitmapButton 類的物件關聯,按名稱載入點陣圖,並調整按鈕大小以適應點陣圖。

2

LoadBitmaps

透過從應用程式的資原始檔載入一個或多個命名點陣圖資源並將點陣圖附加到物件來初始化物件。

3

SizeToContent

它將按鈕大小調整到點陣圖的大小。

以下是點陣圖按鈕控制元件的訊息對映列表:

訊息 對映條目 描述
BN_CLICKED ON_BN_CLICKED( <id>, <memberFxn> ) 單擊按鈕時,框架將呼叫此成員函式。
BN_DISABLE ON_BN_DISABLE( <id>, <memberFxn> ) 停用按鈕時,框架將呼叫此成員函式。
BN_DOUBLECLICKED ON_BN_DOUBLECLICKED( <id>, <memberFxn> ) 雙擊按鈕時,框架將呼叫此成員函式。
BN_PAINT ON_BN_PAINT( <id>, <memberFxn> ) 當應用程式請求重繪按鈕時,框架將呼叫此成員函式。

讓我們透過建立一個新專案來了解一個簡單的示例。

步驟 1 - 從“新增資源”對話方塊中新增點陣圖。

Add Resource Dialog

步驟 2 - 選擇點陣圖並單擊“新建”。

Select BitmapButton

步驟 3 - 設計您的點陣圖並將其 ID 更改為 IDB_BITMAP_START,如上所示。

步驟 4 - 將按鈕新增到對話方塊中,併為該按鈕新增一個控制元件變數 m_buttonStart。

步驟 5 - 在您的標頭檔案中新增一個位圖變數。您現在可以看到以下兩個變數。

CBitmap m_bitmapStart;
CButton m_buttonStart;

步驟 6 - 修改您的 OnInitDialog() 方法,如下面的程式碼所示。

m_bitmapStart.LoadBitmap(IDB_BITMAP_START);
HBITMAP hBitmap = (HBITMAP)m_bitmapStart.GetSafeHandle();
m_buttonStart.SetBitmap(hBitmap);

步驟 7 - 編譯並執行上述程式碼後,您將看到以下輸出。

BitmapButton Output
mfc_windows_controls.htm
廣告