共用方式為


按鈕 (Windows 控制件)

本節包含與按鈕控件搭配使用之程式設計專案的相關信息。 按鈕 是使用者可以按下的控制件,以提供應用程式的輸入。

綜述

主題 內容
按鈕訊息 本主題討論與按鈕搭配使用的訊息。
按鈕狀態 本節討論如何選取按鈕變更其狀態,以及應用程式應該如何回應。
按鈕類型 本主題討論不同類型的按鈕。
使用按鈕 本節說明如何執行與按鈕相關聯的特定工作。

功能

主題 內容
CheckDlgButton 變更按鈕控制件的檢查狀態。
CheckRadioButton 將複選標記新增至 (checks) 群組中指定的單選按鈕,並移除群組中所有其他單選按鈕的複選標記。
IsDlgButtonChecked IsDlgButtonChecked 函式會決定已核取按鈕控件,還是核取三狀態按鈕控件、未核取或不確定。

巨集

主題 內容
Button_Enable 啟用或停用按鈕。
Button_GetCheck 取得單選按鈕或複選框的核取狀態。 您可以使用這個巨集,或明確傳送 BM_GETCHECK 訊息。
Button_GetIdealSize 如果影像清單存在,取得最符合文字和影像的按鈕大小。 您可以使用這個巨集,或明確傳送 BCM_GETIDEALSIZE 訊息。
Button_GetImageList 取得描述按鈕控制項所設定影像清單的 BUTTON_IMAGELIST 結構。 您可以使用這個巨集,或明確傳送 BCM_GETIMAGELIST 訊息。
Button_GetNote 取得與命令連結按鈕相關聯的附註文字。 您可以使用這個巨集,或明確傳送 BCM_GETNOTE 訊息。
Button_GetNoteLength 取得可顯示在命令連結描述中的記事文字長度。 使用此巨集或明確傳送 BCM_GETNOTELENGTH 訊息。
Button_GetSplitInfo 取得指定之分割按鈕控制件的資訊。 使用此巨集或明確傳送 BCM_GETSPLITINFO 訊息。
Button_GetState 取得單選按鈕或複選框的核取狀態。 您可以使用這個巨集,或明確傳送 BM_GETSTATE 訊息。
Button_GetText 取得按鈕的文字。
Button_GetTextLength 取得按鈕文字中的字元數。
Button_GetTextMargin 取得用來在按鈕控件中繪製文字的邊界。 您可以使用這個巨集,或明確傳送 BCM_GETTEXTMARGIN 訊息。
Button_SetCheck 設定單選按鈕或複選框的核取狀態。 您可以使用這個巨集,或明確傳送 BM_SETCHECK 訊息。
Button_SetDropDownState 使用 BS_SPLITBUTTON樣式設定指定按鈕的下拉式清單狀態。 使用此巨集或明確傳送 BCM_SETDROPDOWNSTATE 訊息。
Button_SetElevationRequiredState 設定指定按鈕或命令連結的提高許可權必要狀態,以顯示提升許可權的圖示。 使用此巨集或明確傳送 BCM_SETSHIELD 訊息。
Button_SetImageList 將影像清單指派給按鈕控制件。 您可以使用這個巨集,或明確傳送 BCM_SETIMAGELIST 訊息。
Button_SetNote 設定與指定命令連結按鈕相關聯的附註文字。 您可以使用這個巨集,或明確傳送 BCM_SETNOTE 訊息。
Button_SetSplitInfo 設定指定分割按鈕控制件的資訊。 使用此巨集或明確傳送 BCM_SETSPLITINFO 訊息。
Button_SetState 設定按鈕的醒目提示狀態。 醒目提示狀態指出按鈕是否反白顯示,就好像使用者已推送按鈕一樣。 您可以使用這個巨集,或明確傳送 BM_SETSTATE 訊息。
Button_SetStyle 設定按鈕的樣式。 您可以使用這個巨集,或明確傳送 BM_SETSTYLE 訊息。
Button_SetText 設定按鈕的文字。
Button_SetTextMargin 設定按鈕控制件中繪製文字的邊界。 您可以使用這個巨集,或明確傳送 BCM_SETTEXTMARGIN 訊息。

消息

主題 內容
BCM_GETIDEALSIZE 如果影像清單存在,取得最適合其文字和影像的按鈕大小。 您可以明確傳送此訊息,或使用 Button_GetIdealSize 巨集。
BCM_GETIMAGELIST 取得描述指派給按鈕控件之影像清單的 BUTTON_IMAGELIST 結構。 您可以明確傳送此訊息,或使用 Button_GetImageList 巨集。
BCM_GETNOTE 取得與命令連結按鈕相關聯的附註文字。 您可以明確傳送此訊息,或使用 Button_GetNote 巨集。
BCM_GETNOTELENGTH 取得可在命令連結按鈕描述中顯示的記事文字長度。 使用 Button_GetNoteLength 巨集明確傳送此訊息。
BCM_GETSPLITINFO 取得分割按鈕控制件的資訊。 使用 Button_GetSplitInfo 巨集明確傳送此訊息。
BCM_GETTEXTMARGIN 取得用來在按鈕控件中繪製文字的邊界。 您可以明確傳送此訊息,或使用 Button_GetTextMargin 巨集。
BCM_SETDROPDOWNSTATE 使用樣式 TBSTYLE_DROPDOWN設定按鈕的下拉式狀態。 使用 Button_SetDropDownState 巨集明確傳送此訊息。
BCM_SETIMAGELIST 將影像清單指派給按鈕控制件。 您可以明確傳送此訊息,或使用 Button_SetImageList 巨集。
BCM_SETNOTE 設定與命令連結按鈕相關聯的附註文字。 您可以明確傳送此訊息,或使用 Button_SetNote 巨集。
BCM_SETSHIELD 設定指定按鈕或命令連結的提高許可權必要狀態,以顯示提升許可權的圖示。 使用 Button_SetElevationRequiredState 巨集明確傳送此訊息。
BCM_SETSPLITINFO 設定分割按鈕控制件的資訊。 使用 Button_SetSplitInfo 巨集明確傳送此訊息。
BCM_SETTEXTMARGIN BCM_SETTEXTMARGIN 訊息會設定按鈕控件中繪製文字的邊界。
BM_CLICK 模擬使用者按鍵。 此訊息會導致按鈕接收 WM_LBUTTONDOWNWM_LBUTTONUP 訊息,以及按鈕的父視窗接收 BN_CLICKED 通知碼。
BM_GETCHECK 取得單選按鈕或複選框的核取狀態。 您可以明確傳送此訊息,或使用 Button_GetCheck 巨集。
BM_GETIMAGE 擷取與按鈕相關聯的影像(圖示或點陣圖)句柄。
BM_GETSTATE 擷取按鈕或複選框的狀態。 您可以明確傳送此訊息,或使用 Button_GetState 巨集。
BM_SETCHECK 設定單選按鈕或複選框的核取狀態。 您可以明確傳送此訊息,或使用 Button_SetCheck 巨集。
BM_SETDONTCLICK 在單選按鈕上設定旗標,控制按鈕收到焦點時 BN_CLICKED 訊息的產生。
BM_SETIMAGE 將新的影像(圖示或點陣圖)與按鈕產生關聯。
BM_SETSTATE 設定按鈕的醒目提示狀態。 醒目提示狀態指出按鈕是否反白顯示,就好像使用者已推送按鈕一樣。 您可以明確傳送此訊息,或使用 Button_SetState 巨集。
BM_SETSTYLE 設定按鈕的樣式。 您可以明確傳送此訊息,或使用 Button_SetStyle 巨集。

通知

主題 內容
BCN_DROPDOWN 當使用者按鍵上的下拉箭號時傳送。 控件的父視窗會以 WM_NOTIFY 訊息的形式接收此通知程序代碼。
BCN_HOTITEMCHANGE 通知按鈕控制項擁有者滑鼠正在進入或離開按鈕控制件的工作區。 按鈕控制項會以 WM_NOTIFY 訊息的形式傳送此通知程式代碼。
BN_CLICKED 當使用者按鍵時傳送。
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_CLICKED 通知程序代碼。
BN_DBLCLK 當使用者按兩下按鈕時傳送。 此通知碼會自動傳送給 BS_USERBUTTONBS_RADIOBUTTONBS_OWNERDRAW 按鈕。 其他按鈕類型只有在具有 BS_NOTIFY 樣式時,才會傳送 BN_DBLCLK
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_DBLCLK 通知程式代碼。
BN_DISABLE 停用按鈕時傳送。 附注: 此通知程序代碼僅供與 3.0 版之前的 16 位 Windows 版本相容。 應用程式應該針對這項工作使用 BS_OWNERDRAW 按鈕樣式和 DRAWITEMSTRUCT 結構。
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_DISABLE 通知碼。
BN_DOUBLECLICKED 當使用者按兩下按鈕時傳送。 此通知碼會自動傳送給 BS_USERBUTTONBS_RADIOBUTTONBS_OWNERDRAW 按鈕。 其他按鈕類型只有在具有 BS_NOTIFY 樣式時,才會傳送 BN_DOUBLECLICKED
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_DOUBLECLICKED 通知碼。
BN_HILITE 當用戶選取按鈕時傳送。 附注: 此通知程序代碼僅供與 3.0 版之前的 16 位 Windows 版本相容。 應用程式應該針對這項工作使用 BS_OWNERDRAW 按鈕樣式和 DRAWITEMSTRUCT 結構。
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_HILITE 通知程式代碼。
BN_KILLFOCUS 當按鈕失去鍵盤焦點時傳送。 按鈕必須具有 BS_NOTIFY 樣式,才能傳送此通知程序代碼。
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_KILLFOCUS 通知程式代碼。
BN_PAINT 應該繪製按鈕時傳送。 附注: 此通知程序代碼僅供與 3.0 版之前的 16 位 Windows 版本相容。 應用程式應該針對這項工作使用 BS_OWNERDRAW 按鈕樣式和 DRAWITEMSTRUCT 結構。
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_PAINT 通知程式代碼。
BN_PUSHED 當按鈕的推送狀態設定為已推送時傳送。 附注: 此通知程序代碼僅供與 3.0 版之前的 16 位 Windows 版本相容。 應用程式應該針對這項工作使用 BS_OWNERDRAW 按鈕樣式和 DRAWITEMSTRUCT 結構。
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_PUSHED 通知程式代碼。
BN_SETFOCUS 當按鈕收到鍵盤焦點時傳送。 按鈕必須具有 BS_NOTIFY 樣式,才能傳送此通知程序代碼。
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_SETFOCUS 通知程式代碼。
BN_UNHILITE 應從按鈕移除醒目提示時傳送。 附注: 此通知程序代碼僅供與 3.0 版之前的 16 位 Windows 版本相容。 應用程式應該針對這項工作使用 BS_OWNERDRAW 按鈕樣式和 DRAWITEMSTRUCT 結構。
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_UNHILITE 通知程序代碼。
BN_UNPUSHED 當按鈕的推送狀態設定為未推送時傳送。 附注: 此通知程序代碼僅供與 3.0 版之前的 16 位 Windows 版本相容。 應用程式應該針對這項工作使用 BS_OWNERDRAW 按鈕樣式和 DRAWITEMSTRUCT 結構。
按鈕的父視窗會透過 WM_COMMAND 訊息接收 BN_UNPUSHED 通知碼。
NM_CUSTOMDRAW (按鈕) 通知按鈕控制件的父視窗,有關按鈕上的自定義繪製作業。
按鈕控制項會以 WM_NOTIFY 訊息的形式傳送此通知程式代碼。
WM_CTLCOLORBTN 在繪製按鈕之前,會將 WM_CTLCOLORBTN 訊息傳送至按鈕的父視窗。 父視窗可以變更按鈕的文字和背景色彩。 不過,只有擁有者繪製的按鈕會回應處理此訊息的父視窗。

結構

主題 內容
BUTTON_IMAGELIST 包含與按鈕控制件搭配使用之影像清單的相關信息。
BUTTON_SPLITINFO 包含定義分割按鈕的資訊(BS_SPLITBUTTONBS_DEFSPLITBUTTON 樣式)。 與 BCM_GETSPLITINFOBCM_SETSPLITINFO 訊息搭配使用。
NMBCDROPDOWN 包含 BCN_DROPDOWN 通知的相關信息。
NMBCHOTITEM 包含滑鼠在按鈕控件上移動的相關信息。

常數

主題 內容
按鈕樣式 指定按鈕樣式的組合。 如果您使用 BUTTON 類別與 createWindowCreateWindowEx 函式來建立按鈕,您可以指定下列任何按鈕樣式。