1 按鈕添加圖標(biāo):
方法一:
1.添加圖標(biāo)資源IDI_ICON1;
2 使用函數(shù) LoadIcon() 載入圖標(biāo)。因為LoadIcon() 是類 CWinApp 的成員函數(shù),同時函數(shù) LoadIcon() 返回所載入圖標(biāo)的句柄。所以我們采用以下方法來調(diào)用函數(shù) LoadIcon():
HICON m_hicn1=AfxGetApp()->LoadIcon(IDI_ICON1);
3 為按鈕設(shè)置圖標(biāo)了,這通過調(diào)用函數(shù) SetIcon() 來實現(xiàn):
m_button1.SetIcon(m_hicn1); // m_button1是按鈕變量
方法二:
前兩步和上方法一樣;
3 先由函數(shù) GetDlgItem() 獲得一個指向 CWnd 對象的指針,再通過強制類型轉(zhuǎn)換將該指針轉(zhuǎn)換為一個指向 CButton 類對象的指針。進而通過該指針來調(diào)用函數(shù) SetIcon()。具體實現(xiàn)代碼如下:
CWnd *pWnd = GetDlgItem(IDC_BUTTON1);
CButton *Button= (CButton *) pWnd;
Button-> SetIcon(m_hicn1);
2 按鈕添加位圖:
1 添加位圖資源BMP1;
2 利用函數(shù) LoadBitmap() 從資源中載入位圖.
HBITMAP LoadBitmap(
HINSTANCE hInstance, // handle of application instance
LPCTSTR lpBitmapName // address of bitmap resource name
);
所以,為達到載入位圖的目的,不僅要定義一個位圖句柄 hBitmap:
HBITMAP hBitmap;
而且還要定義一個應(yīng)用程序?qū)嵗浔?hInstance;
HINSTANCE hInstance;
并調(diào)用函數(shù) AfxGetInstanceHandle() 以獲得當(dāng)前的應(yīng)用程序?qū)嵗浔?,代碼如下:
hInstance = ::AfxGetInstanceHandle();
只有在聲明并獲得了當(dāng)前的應(yīng)用程序句柄后,才能使用以下語句載入位圖:
hBitmap = ::LoadBitmap(hInstance,"BMP1"); //BMP1是資源文件名
3 用SetBitmap()添加位圖;
m_button1.SetBitmap(hBitmap);
或
pWnd = GetDlgItem(IDC_BUTTON1);
Button= (CButton *) pWnd;
Button-> SetBitmap(hBitmap);
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。