首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

VC6.0 MFC 對話框中用一個按鈕切換兩張圖片的實現方法

     編輯:程式設計綜合問答

實現思路

  1. 在對話框類中添加一個 **BOOL 類型成員變量**(如 m_bShowFirst),初始化為 TRUE。
  2. 在按鈕點擊處理函數中 **取反** 該變量。
  3. 根據變量值設置圖片控件(CStatic 配合 SetBitmap)顯示對應位圖。

代碼示例

// MyDialog.h
class CMyDialog : public CDialogEx {
    // ...
    BOOL m_bShowFirst;
    CStatic m_picCtrl;      // 關聯圖片控件 (IDC_PIC)
    CBitmap m_bmpFirst, m_bmpSecond;
    // ...
};

// MyDialog.cpp
BOOL CMyDialog::OnInitDialog() {
    CDialogEx::OnInitDialog();
    m_bShowFirst = TRUE;
    m_bmpFirst.LoadBitmap(IDB_BITMAP1);   // 資源 ID
    m_bmpSecond.LoadBitmap(IDB_BITMAP2);
    m_picCtrl.SetBitmap(m_bmpFirst);
    return TRUE;
}

void CMyDialog::OnBnClickedBtnSwitch() {
    m_bShowFirst = !m_bShowFirst;
    m_picCtrl.SetBitmap(m_bShowFirst ? m_bmpFirst : m_bmpSecond);
}

關鍵點

  • 位圖資源需提前導入資源視圖(.bmp 格式),並設置正確 ID。
  • 圖片控件屬性設置為 Bitmap 類型,取消 Auto Size 以便手動控制大小。
  • 若需圖片自適應控件大小,可使用 StretchBlt 繪製到內存 DC 再 SetBitmap。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved