CBitmapButton 類
創(chuàng)建位圖圖像替代文本標(biāo)記的按鈕控件。
Class CBitmapButton : public CButton
備注
CBitmapButton 對象包含多達(dá)四個位圖,為按鈕的不同狀態(tài)包含圖像:up(or normal),down(or selected),focused,和disabled
。只有第一個位圖是必須的;其他都是可以選擇的。
位圖按鈕(Bitmap-button)圖像包括圖像的邊框以及圖像本身。邊框通常扮演部分顯示按鈕的狀態(tài)。例如,focused狀態(tài)下的位圖通
常和up狀態(tài)下的一樣,但是它的邊框是矩形虛線或者粗實(shí)線。disabled狀態(tài)下的位圖通常類似于up狀態(tài)但是對比度較低(如暗灰色
或者灰色菜單選擇)。
這些位圖可以是任意大小,但是對于up狀態(tài)它們都被視為同樣大小。
各種應(yīng)用要求位圖圖像的不同組合:
Up Down Focused Disabled 應(yīng)用
* 位圖
* * 沒有WS_TABSTOP樣式的按鈕
* * * * 帶有所有狀態(tài)的對話框按鈕
* * * 帶有WS_TABSTOP樣式的對話框按鈕
當(dāng)創(chuàng)建一個位圖按鈕控件,設(shè)置BS_OWNERDRAW樣式指定按鈕為自己繪制的。這使Windows為按鈕發(fā)送WM_MEASUREITEM和WMDRAWITEM
消息??蚣転槟闾幚磉@些消息和管理按鈕的外觀。
在windows客戶區(qū)域創(chuàng)建位圖按鈕控件
1、為按鈕創(chuàng)建一到四個位圖。
2、構(gòu)建CBitmapButton對象。
3、調(diào)用Create函數(shù)創(chuàng)建按鈕控件,然后附加到CBitmapButton對象上。
4、當(dāng)位圖按鈕構(gòu)造好后,調(diào)用LoadBitmaps成員函數(shù)來加載位圖資源。
一個對話框中包括一個位圖按鈕
1、為按鈕創(chuàng)建一到四個位圖。
2、創(chuàng)建一個帶有自繪(owner-draw)按鈕的對話框模板,按鈕放置在你想要的位圖按鈕的地方。
3、設(shè)置按鈕的caption為"MYIMAGE",按鈕定義符號為IDC_MYIMAGE。
4、在你應(yīng)用程序的資源腳本中,在步驟3中為每個為按鈕創(chuàng)建的圖形設(shè)置標(biāo)題為ID加一個字母,"U","D","F",或者"X"(對應(yīng)于up,down,focused,和disabled)的字符串。例如,像標(biāo)題為"MYIMAGE"的按鈕,它們的ID為"MYIMAGEU","MYIMAGED","MYIMAGEF",和"MYIMAGEX."你必須指定位圖的ID要有雙引號。否則資源編譯器將制定一個整數(shù)的資源,那么MFC在加載圖片時就會失敗。
5、在你的應(yīng)用程序的對話框類(繼承自CDialog)中,增加一個CBitmapButton成員對象。
6、在CDialog對象的OnInitDialog例程中,調(diào)用CBitmapButton對象的AutoLoad函數(shù),按鈕控件的ID和CDialog對象的指針作為參數(shù)。
如果你想處理窗口信息,像BN_CLICKED,位圖按鈕控件發(fā)送給它的父(通常是一個從CDialog派生的類),為CDialog派生對象增加一個消息映射入口,和每個消息處理成員函數(shù)。CBitmapButton對象發(fā)送的通知跟CButton是一樣的。
類CToolBar對位圖按鈕采用不同的方法。
更多關(guān)于CBitmapButton的信息,參考Controls。
要求
頭文件:afxext.h
參考
CTLRLTEST sample:Implements Custom Controls
CBitmapButton Members
CButton Class
Hierarchy Chart
原文:
http://msdn.microsoft.com/zh-cn/library/a3y45xs0(v=vs.90).aspx
posted on 2012-03-22 10:36
canaan 閱讀(1834)
評論(0) 編輯 收藏 引用 所屬分類:
MSDN