CButton中文手冊

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>

請參閱:
CWnd, CComboBox, CEdit, CListBox, CScrollBar, CStatic, CBitmapButton, CDialog


CButton類的成員

構造函數 CButton 構造一個CButton對象 

初始化函數 Create 創建Windows按鈕控件並在CButton對象上應用 

操作 GetState 檢索按鈕控件的選中狀態、加亮狀態和獲得焦點狀態 
SetState 設置按鈕控件的加亮狀態 
GetCheck 檢索按鈕控件的選中狀態 
SetCheck 設置按鈕控件的選中狀態 
GetButtonStyle 檢索按鈕控件的風格 
SetButtonStyle 設置按鈕控件的風格 
GetIcon 檢索此前調用SetIcon設置的圖標句柄 
SetIcon 指定一個在按鈕上顯示的圖標 
GetBitmap 檢索此前調用SetBitmap設置的位圖的句柄 
SetBitmap 設置在按鈕上顯示的位圖 
GetCursor 檢索此前調用SetCursor設置的光標圖像的句柄 
SetCursor 設置在按鈕上顯示的光標圖像 

可覆蓋的函數 DrawItem 可以覆蓋它來繪製自定義的CButton對象 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章