按鈕樣式
指定按鈕樣式的組合。 如果您使用 BUTTON 類別搭配 CreateWindow 或 CreateWindowEx 函式來建立按鈕,您可以指定下列任何按鈕樣式。
範例
HRESULT Button::CreateText(HWND hParent, const TCHAR *szCaption, int nID,
const Rect& rcBound)
{
CREATESTRUCT create;
ZeroMemory(&create, sizeof(CREATESTRUCT));
create.x = rcBound.left;
create.y = rcBound.top;
create.cx = rcBound.right - create.x;
create.cy = rcBound.bottom - create.y;
create.hwndParent = hParent;
create.lpszName = szCaption;
create.hMenu = (HMENU)(INT_PTR)nID;
create.lpszClass = TEXT("BUTTON");
create.style = BS_PUSHBUTTON | BS_FLAT;
return Control::Create(create);
}
GitHub 上的 Windows 傳統範例 。
常數
常數 | 描述 |
---|---|
|
建立與核取方塊相同的按鈕,但方塊可以呈現灰色,並核取或清除。 使用灰色狀態來顯示覆選框的狀態未決定。 |
|
建立與三狀態核取方塊相同的按鈕,不同之處在于當使用者選取該按鈕時,方塊會變更其狀態。 狀態會迴圈查看已檢查、不確定和清除。 |
|
建立與核取方塊相同的按鈕,不同之處在于每次使用者選取核取方塊時,核取方塊狀態會自動在核取和清除之間切換。 |
|
建立與選項按鈕相同的按鈕,不同之處在于當使用者選取按鈕時,系統會自動將按鈕的核取狀態設定為已核取,並自動設定相同群組中所有其他按鈕的檢查狀態以清除。 |
|
指定按鈕顯示點陣圖。 如需與BS_ICON的互動,請參閱一節。 |
|
將文字放在按鈕矩形的底部。 |
|
在按鈕矩形中水準置中文字。 |
|
建立含有文字的小型空白核取方塊。 根據預設,文字會顯示在核取方塊右邊。 若要顯示覆選框左邊的文字,請將此旗標與BS_LEFTTEXT樣式 (或對等的BS_RIGHTBUTTON樣式) 結合。 |
|
建立類似BS_PUSHBUTTON樣式按鈕的命令連結按鈕,但命令連結按鈕在左側有綠色箭號指向按鈕文字。 按鈕文字的標題可以藉由將BCM_SETNOTE訊息傳送至按鈕來設定。 |
|
建立類似BS_PUSHBUTTON樣式按鈕的命令連結按鈕。 如果按鈕位於對話方塊中,使用者只要按下 ENTER 鍵即可選取命令連結按鈕,即使命令連結按鈕沒有輸入焦點也一樣。 此樣式適用于讓使用者快速選取最可能 (預設) 選項。 |
|
建立像BS_PUSHBUTTON樣式按鈕一樣的行為按鈕,但外觀不同。 如果按鈕位於對話方塊中,即使按鈕沒有輸入焦點,使用者仍可按 ENTER 鍵來選取按鈕。 此樣式適用于讓使用者快速選取最可能 (預設) 選項。 |
|
建立類似BS_PUSHBUTTON樣式按鈕的分割按鈕,但也具有獨特的外觀。 如果分割按鈕位於對話方塊中,使用者只要按下 ENTER 鍵即可選取分割按鈕,即使分割按鈕沒有輸入焦點也一樣。 此樣式適用于讓使用者快速選取最可能 (預設) 選項。 |
|
建立可分組其他控制項的矩形。 與這個樣式相關聯的任何文字都會顯示在矩形的左上角。 |
|
指定按鈕顯示圖示。 如需與BS_BITMAP的互動,請參閱一節。 |
|
指定按鈕為二維;它不會使用預設網底來建立 3D 影像。 |
|
靠左對齊按鈕矩形中的文字。 不過,如果按鈕是沒有BS_RIGHTBUTTON樣式的核取方塊或選項按鈕,則文字會靠左對齊核取方塊或選項按鈕的右邊。 |
|
與選項按鈕或核取方塊樣式結合時,將文字放在選項按鈕或核取方塊的左側。 與BS_RIGHTBUTTON樣式相同。 |
|
如果文字字串太長而無法放入按鈕矩形中的單行,則會將按鈕文字換行成多行。 |
|
可讓按鈕將 BN_KILLFOCUS 和 BN_SETFOCUS 通知碼傳送至其父視窗。 請注意,不論按鈕是否具有此樣式,按鈕都會傳送 BN_CLICKED 通知程式碼。 若要取得 BN_DBLCLK 通知代碼,按鈕必須具有BS_RADIOBUTTON或BS_OWNERDRAW樣式。 |
|
建立擁有者繪製的按鈕。 當按鈕的視覺層面變更時,擁有者視窗會收到 WM_DRAWITEM 訊息。 請勿將BS_OWNERDRAW樣式與其他任何按鈕樣式結合。 |
|
建立一個按鈕,當使用者選取按鈕時,會將 WM_COMMAND 訊息張貼至擁有者視窗。 |
|
讓按鈕 (例如核取方塊、三狀態核取方塊或選項按鈕,) 看起來就像一個按鈕。 按鈕會在未推送或核取時引發,並在按下或核取按鈕時關閉。 |
|
建立含有文字的小型圓形。 根據預設,文字會顯示在圓形右邊。 若要顯示圓形左邊的文字,請將此旗標與BS_LEFTTEXT樣式 (或對等的BS_RIGHTBUTTON樣式) 結合。 針對相關群組使用選項按鈕,但互斥的選項。 |
|
靠右對齊按鈕矩形中的文字。 不過,如果按鈕是沒有BS_RIGHTBUTTON樣式的核取方塊或選項按鈕,則文字會靠右對齊核取方塊或選項按鈕的右側。 |
|
將選項按鈕的圓形或核取方塊的正方形放置在按鈕矩形的右側。 與BS_LEFTTEXT樣式相同。 |
|
建立分割按鈕。 分割按鈕有下拉式箭號。 |
|
指定按鈕顯示文字。 |
|
將文字放在按鈕矩形的頂端。 |
|
請勿使用此樣式。 複合樣式位,其結果為在 BS_* 樣式位上使用 OR 運算子。 它可用來遮罩來自指定位元遮罩的有效BS_* 位。 請注意,這已過期,且未正確包含所有有效的樣式。 因此,您不應該使用此樣式。 |
|
已過時,但提供與 16 位版本的 Windows 相容。 應用程式應該改用BS_OWNERDRAW。 |
|
將文字放在按鈕矩形的中間 (垂直) 。 |
備註
如需主體按鈕樣式的圖例,例如BS_CHECKBOX和BS_GROUPBOX,請參閱 按鈕類型。
文字或圖示或按鈕控制項上的外觀取決於BS_ICON和BS_BITMAP樣式,以及是否傳送 BM_SETIMAGE 訊息。 可能的結果如下所示。
BS_ICON或BS_BITMAP集? | BM_SETIMAGE呼叫? | 結果 |
---|---|---|
是 | 是 | 僅顯示圖示。 |
否 | 是 | 顯示圖示和文字。 |
是 | 否 | 僅顯示文字。 |
否 | 否 | 僅顯示文字 |
規格需求
需求 | 值 |
---|---|
標頭 |
|