按鈕 (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_LBUTTONDOWN 和 WM_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 宏。 |
Notifications
主題 | 目錄 |
---|---|
BCN_DROPDOWN | 當使用者按鍵上的下拉箭號時傳送。 控件的父視窗會以WM_NOTIFY訊息的形式接收此通知程序代碼。 |
BCN_HOTITEMCHANGE | 通知按鈕控制項擁有者滑鼠正在進入或離開按鈕控制件的工作區。 按鈕控制項會以WM_NOTIFY訊息的形式傳送此通知程式代碼。 |
BN_CLICKED | 當使用者按鍵時傳送。 按鈕的父視窗會透過WM_COMMAND訊息接收BN_CLICKED通知程序代碼。 |
BN_DBLCLK | 當使用者按兩下按鈕時傳送。 此通知碼會自動傳送給 BS_USERBUTTON、 BS_RADIOBUTTON和 BS_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_USERBUTTON、 BS_RADIOBUTTON和 BS_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_SPLITBUTTON 和 BS_DEFSPLITBUTTON 樣式)。 與BCM_GETSPLITINFO和BCM_SETSPLITINFO訊息搭配使用。 |
NMBCDROPDOWN | 包含BCN_DROPDOWN通知的相關信息。 |
NMBCHOTITEM | 包含滑鼠在按鈕控件上移動的相關信息。 |
常數
主題 | 目錄 |
---|---|
按鈕樣式 | 指定按鈕樣式的組合。 如果您使用 BUTTON 類別搭配 CreateWindow 或 CreateWindowEx 函式來建立按鈕,您可以指定下列任何按鈕樣式。 |