MFC 使用的樣式
當您建立對應的 MFC 物件時,請使用下列樣式旗標來指定視窗或控件的外觀和行為。 在大部分情況下,這些樣式是在類別Create
函式的 參數中dwStyle
設定。
按鈕樣式
按鈕樣式會套用至 CButton Class
物件,例如單選按鈕、複選框和按鈕。 在 的參數CButton::Create
中dwStyle
指定樣式的組合。 如需 Windows 中按鈕樣式的詳細資訊,請參閱 按鈕樣式 (Windows) 。
按鈕類型
下表列出按鈕類型。 您可以選擇性地選擇下列其中一項。 如果您未指定按鈕類型,預設值為 BS_PUSHBUTTON
。
類型 | 描述 |
---|---|
BS_3STATE |
建立具有三種狀態的複選框按鈕: BST_CHECKED 、 BST_INDETERMINATE 和 BST_UNCHECKED 。 按兩下按鈕會將通知傳送 BN_CLICKED 至擁有者視窗,但不會變更按鈕的狀態。 根據預設,相關聯的文字會顯示在複選框右側。 若要顯示複選框左邊的文字,請使用 BS_LEFTTEXT 或 BS_RIGHTBUTTON 樣式。 |
BS_AUTO3STATE |
建立具有三種狀態的複選框按鈕: BST_CHECKED 、 BST_INDETERMINATE 和 BST_UNCHECKED 。 按兩下按鈕會將通知傳送 BN_CLICKED 至擁有者視窗,並變更按鈕的狀態。 按鈕狀態會以、 BST_INDETERMINATE 和BST_UNCHECKED 的順序BST_CHECKED 迴圈。 根據預設,相關聯的文字會顯示在複選框右側。 若要顯示複選框左邊的文字,請使用 BS_LEFTTEXT 或 BS_RIGHTBUTTON 樣式。 |
BS_AUTOCHECKBOX |
建立具有兩個狀態的複選框按鈕: BST_CHECKED 和 BST_UNCHECKED 。 按兩下按鈕會將通知傳送 BN_CLICKED 至擁有者視窗,並變更按鈕的狀態。 根據預設,相關聯的文字會顯示在複選框右側。 若要顯示複選框左邊的文字,請使用 BS_LEFTTEXT 或 BS_RIGHTBUTTON 樣式。 |
BS_AUTORADIOBUTTON |
建立具有兩個狀態的單選按鈕: BST_CHECKED 和 BST_UNCHECKED 。 單選按鈕通常用於群組中,每個群組一次最多一個核取選項。 按下按鈕會將通知傳送 BN_CLICKED 至擁有者視窗、將按鍵狀態設定為 BST_CHECKED ,並將按鈕群組中所有其他單選按鈕的狀態設定為 BST_UNCHECKED 。 根據預設,單選按鈕右邊會顯示相關聯的文字。 若要在單選按鈕左側顯示文字,請使用 BS_LEFTTEXT 或 BS_RIGHTBUTTON 樣式。 |
BS_CHECKBOX |
建立具有兩個狀態的複選框按鈕: BST_CHECKED 和 BST_UNCHECKED 。 按兩下按鈕會將通知傳送 BN_CLICKED 至擁有者視窗,但不會變更按鈕的狀態。 根據預設,相關聯的文字會顯示在複選框右側。 若要顯示複選框左邊的文字,請使用 BS_LEFTTEXT 或 BS_RIGHTBUTTON 樣式。 |
BS_COMMANDLINK |
建立命令連結按鈕。 命令連結按鈕是 Windows Vista 專屬的命令按鈕,會顯示主文字左邊的綠色箭號,以及主文字下方的附注。 您可以使用 來設定記事文字 CButton::SetNote 。 |
BS_DEFCOMMANDLINK |
建立命令連結按鈕。 命令連結按鈕是 Windows Vista 專屬的命令按鈕,會顯示主文字左邊的綠色箭號,以及主文字下方的附注。 您可以使用 來設定記事文字 CButton::SetNote 。 如果按鈕位於對話框中,即使按鈕沒有輸入焦點,按下 ENTER 鍵也會將通知傳送 BN_CLICKED 給對話方塊。 |
BS_DEFPUSHBUTTON |
建立具有粗黑色框線的命令按鈕。 如果按鈕位於對話框中,即使按鈕沒有輸入焦點,按下 ENTER 鍵也會將通知傳送 BN_CLICKED 給對話方塊。 |
BS_DEFSPLITBUTTON |
建立分割按鈕。 分割按鈕是 Windows Vista 特有的命令按鈕,其中包含與下拉箭號相鄰的按鈕。 當您按鍵時,會執行預設命令。 當您按下拉式箭號時,會出現其他命令的功能表。 如果分割按鈕位於對話框中,即使按鈕沒有輸入焦點,按下 ENTER 鍵也會將通知傳送 BN_CLICKED 至對話方塊 |
BS_GROUPBOX |
建立可分組其他按鈕的矩形。 與此樣式相關聯的文字會顯示在矩形的左上角。 |
BS_OWNERDRAW |
建立擁有者繪製的按鈕。 架構會在按鈕的視覺層面變更時呼叫 DrawItem 方法。 當您使用 CBitmapButton 類別時,必須設定此樣式。 |
BS_PUSHBUTTON |
建立命令按鈕,當使用者按兩下按鈕時,會將通知傳送 BN_CLICKED 至擁有者視窗。 |
BS_RADIOBUTTON |
建立具有兩個狀態的單選按鈕: BST_CHECKED 和 BST_UNCHECKED 。 單選按鈕通常用於群組中,每個群組一次最多一個核取選項。 按兩下按鈕會將通知傳送 BN_CLICKED 至擁有者視窗,但不會自動變更群組中任何按鈕的狀態。 根據預設,單選按鈕右邊會顯示相關聯的文字。 若要在單選按鈕左側顯示文字,請使用 BS_LEFTTEXT 或 BS_RIGHTBUTTON 樣式。 |
BS_SPLITBUTTON |
建立分割按鈕。 分割按鈕是 Windows Vista 特有的命令按鈕,其中包含與下拉箭號相鄰的按鈕。 當您按鍵時,會執行預設命令。 當您按下拉式箭號時,會出現其他命令的功能表。 |
BS_USERBUTTON |
已過時,但針對與16位版本的Windows相容而提供。 Win32 型應用程式應該改用 BS_OWNERDRAW 。 |
單選按鈕和複選框樣式
下表列出單選按鈕和複選框特有的樣式。 所有其他按鈕類型都會忽略這些樣式。 您可以選擇性地選擇下列一或多個專案。
樣式 | 描述 |
---|---|
BS_LEFTTEXT |
結合單選按鈕或複選框樣式時,文字會出現在單選按鈕或複選框的左側。 |
BS_RIGHTBUTTON |
結合單選按鈕或複選框樣式時,文字會出現在單選按鈕或複選框的左側。 此樣式與 BS_LEFTTEXT 樣式相同。 |
BS_PUSHLIKE |
讓複選框或單選按鈕看起來就像命令按鈕一樣。 當按鈕的狀態為 BST_CHECKED 時,按鈕會顯示為 、當其狀態為 時按下並呈現暗灰色,並在其狀態為 BST_INDETERMINATE BST_UNCHECKED 時釋放。 |
按鈕文字對齊樣式
下表列出水平和垂直文字對齊選項。 您可以選擇性地選擇下列其中一項。
樣式 | 描述 |
---|---|
BS_LEFT |
靠左對齊按鈕矩形中的文字。 不過,如果按鈕是沒有樣式的複選框或單選按鈕 BS_RIGHTBUTTON ,則文字會靠左對齊複選框或單選按鈕的右邊。 |
BS_RIGHT |
靠右對齊按鈕矩形中的文字。 不過,如果按鈕是沒有樣式的複選框或單選按鈕 BS_RIGHTBUTTON ,則文字會靠右對齊複選框或單選按鈕的右邊。 |
BS_CENTER |
在按鈕矩形中水準置中文字。 |
BS_TOP |
將文字放在按鈕矩形的頂端。 |
BS_BOTTOM |
將文字放在按鈕矩形的底部。 |
BS_VCENTER |
在按鈕矩形中垂直置中文字。 |
按鈕內容選項
下表列出選項,指出按鈕中顯示的內容。 只顯示文字的按鈕類型會忽略這些樣式。 您可以選擇性地選擇下列其中一項。
樣式 | 描述 |
---|---|
BS_BITMAP |
指定按鈕顯示點陣圖。 |
BS_ICON |
指定按鈕會顯示圖示。 |
BS_TEXT |
指定按鈕顯示文字。 |
其他按鈕選項
下表列出您可以搭配任何按鈕類型使用的其他選項。 您可以選擇性地選擇下列一或多個專案。
樣式 | 描述 |
---|---|
BS_FLAT |
指定按鈕為二維,且不會使用預設底紋繪製,以建立三維影像。 |
BS_MULTILINE |
如果文字字串太長而無法放入按鈕矩形中的單行,請將按鈕文字換行至多行。 |
BS_NOTIFY |
可讓按鈕將、 BN_KILLFOCUS 和 BN_SETFOCUS 通知訊息傳送BN_DBLCLK 至其父視窗。 請注意,不論是否已指定此樣式,按鈕都會傳送 BN_CLICKED 通知。 |
下拉式方塊樣式
MFC 中提供下列下拉式方塊樣式。 如需 Windows 中下拉式方塊樣式的詳細資訊,請參閱 下拉式方塊樣式 (Windows) 。
樣式 | 描述 |
---|---|
CBS_AUTOHSCROLL |
當使用者在行尾輸入字元時,自動將編輯控件中的文字捲動到右邊。 如果未設定此樣式,則只會允許符合矩形界限的文字。 |
CBS_DISABLENOSCROLL |
當清單框未包含足夠的專案可捲動時,清單框會顯示停用的垂直滾動條。 若沒有這個樣式,在清單方塊中未包含足夠的項目時,捲軸會隱藏。 |
CBS_DROPDOWN |
類似於 CBS_SIMPLE ,除非用戶選取編輯控件旁的圖示,否則不會顯示清單框。 |
CBS_DROPDOWNLIST |
類似於 CBS_DROPDOWN ,不同之處在於編輯控件會取代為靜態文字專案,以顯示清單框中目前的選取範圍。 |
CBS_HASSTRINGS |
擁有者繪製下拉式方塊包含包含字串的專案。 下拉式方塊會維護記憶體和字串的指標,讓應用程式可以使用 GetText 成員函式來擷取特定項目的文字。 |
CBS_LOWERCASE |
將選取欄位和清單中的所有文字轉換成小寫。 |
CBS_NOINTEGRALHEIGHT |
指定下拉式方塊的大小與應用程式建立下拉式方塊時所指定的大小完全相同。 一般而言,Windows 會調整下拉式方塊的大小,使下拉式方塊不會只顯示一部分的項目。 |
CBS_OEMCONVERT |
下拉式方塊編輯控件中輸入的文字會從 ANSI 字元集轉換成 OEM 字元集,然後轉換回 ANSI。 如此可確保當應用程式呼叫 AnsiToOem Windows 函式將下拉式方塊中的 ANSI 字串轉換成 OEM 字元時,會進行適當的字元轉換。 此樣式最適用於包含檔名的下拉式方塊,且僅適用於使用 CBS_SIMPLE 或 CBS_DROPDOWN 樣式建立的下拉式方塊。 |
CBS_OWNERDRAWFIXED |
清單框的擁有者負責繪製其內容;清單框中的專案都相同。 |
CBS_OWNERDRAWVARIABLE |
清單框的擁有者負責繪製其內容;清單框中的專案高度為變數。 |
CBS_SIMPLE |
清單框會隨時顯示。 編輯控制項會顯示清單方塊中目前的選取範圍。 |
CBS_SORT |
自動排序在清單框中輸入的字串。 |
CBS_UPPERCASE |
將選取欄位和清單中的所有文字轉換成大寫。 |
編輯樣式
編輯樣式會套用至 CEdit
Class 物件。 在 的參數CEdit::Create
中dwStyle
指定樣式的組合。 如需在 Windows 中編輯控制項樣式的詳細資訊,請參閱 編輯控制件樣式 (Windows) 。
樣式 | 描述 |
---|---|
ES_AUTOHSCROLL |
當使用者在行尾輸入字元時,自動將文字向右卷動 10 個字元。 當使用者按下 ENTER 鍵時,控制項會將所有文字捲動回 0 位置。 |
ES_AUTOVSCROLL |
當使用者按下最後一行的 ENTER 時,自動將文字向上捲動一頁。 |
ES_CENTER |
在單行或多行編輯控件中置中文字。 |
ES_LEFT |
在單行或多行編輯控件中靠左對齊文字。 |
ES_LOWERCASE |
將所有字元轉換成小寫,因為它們已輸入至編輯控件。 |
ES_MULTILINE |
指定多行編輯控制件。 (預設值為單行。) ES_AUTOVSCROLL 如果指定樣式,編輯控件會顯示盡可能多的行,並在使用者按下 ENTER 鍵時垂直捲動。 如果未 ES_AUTOVSCROLL 指定 ,編輯控件會顯示盡可能多的行,如果無法顯示任何行時按下 ENTER,則會發出嗶聲。 ES_AUTOHSCROLL 如果指定樣式,當插入號超過控件的右邊緣時,多行編輯控件會自動水平捲動。 若要啟動新行,用戶必須按 ENTER 鍵。 如果未 ES_AUTOHSCROLL 指定 ,控件會在需要時自動將單字換行至下一行的開頭;如果按下 ENTER,也會啟動新行。 文字包裝的位置取決於視窗大小。 如果視窗大小變更,wordwrap 位置會變更,而且會重新顯示文字。 多行編輯控制項可以有滾動條。 具有滾動條的編輯控件會處理自己的滾動條訊息。 如上所述編輯沒有滾動條的控件,並處理父視窗所傳送的任何卷動訊息。 |
ES_NOHIDESEL |
一般而言,當控件失去輸入焦點時,編輯控件會隱藏選取範圍,並在控件收到輸入焦點時反轉選取範圍。 指定 ES_NOHIDESEL 會刪除此預設動作。 |
ES_NUMBER |
只允許在編輯控制件中輸入數位。 |
ES_OEMCONVERT |
在編輯控件中輸入的文字會從 ANSI 字元集轉換成 OEM 字元集,然後回到 ANSI。 當應用程式呼叫 AnsiToOem Windows 函式,將編輯控件中的 ANSI 字串轉換成 OEM 字元時,這可確保適當的字元轉換。 此樣式最適用於包含檔名的編輯控制項。 |
ES_PASSWORD |
在輸入編輯控制項時,將所有字元顯示為星號 (*) 。 應用程式可以使用 SetPasswordChar 成員函式來變更顯示的字元。 |
ES_READONLY |
防止使用者在編輯控件中輸入或編輯文字。 |
ES_RIGHT |
在單行或多行編輯控件中靠右對齊文字。 |
ES_UPPERCASE |
將所有字元轉換成大寫,因為它們已輸入至編輯控件。 |
ES_WANTRETURN |
指定當使用者在對話框中將文字輸入多行編輯控件時按下 ENTER 鍵時,插入歸位字元。 如果沒有此樣式,按下 ENTER 鍵的效果與按下對話框的預設按鈕相同。 此樣式不會影響單行編輯控制件。 |
框架窗口樣式
框架窗口樣式會套用至 CFrameWnd
Class 物件。 在 的參數CFrameWnd::Create
中dwStyle
指定樣式的組合。
樣式 | 描述 |
---|---|
FWS_ADDTOTITLE |
指定要附加至框架視窗標題結尾的資訊。 例如,“Microsoft繪圖 - Document1 中的繪圖”。 您可以在應用程式精靈的 [檔案範本字串] 索引標籤中指定顯示的字串。 如果您需要關閉此選項,請覆寫 CWnd::PreCreateWindow 成員函式。 |
FWS_PREFIXTITLE |
在框架視窗標題中的應用程式名稱之前顯示檔名稱。 例如,“Document - WordPad”。 您可以在應用程式精靈的 [檔案範本字串] 索引標籤中指定顯示的字串。 如果您需要關閉此選項,請覆寫 CWnd::PreCreateWindow 成員函式。 |
FWS_SNAPTOBARS | 控制框架視窗的大小,此視窗在浮動視窗中時會封入控制列,而不是停駐到框架視窗。 此樣式會調整視窗的大小,以符合控制列。 |
清單框樣式
清單框樣式會套用至 CListBox
Class 物件。 在 的參數CListBox::Create
中dwStyle
指定樣式的組合。 如需 Windows 中列表框樣式的詳細資訊,請參閱清單框樣式(Windows)。
樣式 | 描述 |
---|---|
LBS_DISABLENOSCROLL |
當清單框未包含足夠的專案可捲動時,清單框會顯示停用的垂直滾動條。 若沒有這個樣式,在清單方塊中未包含足夠的項目時,捲軸會隱藏。 |
LBS_EXTENDEDSEL |
用戶可以使用 SHIFT 鍵和滑鼠或特殊按鍵組合來選取多個專案。 |
LBS_HASSTRINGS |
指定包含包含字串之項目的擁有者繪製清單框。 清單方塊會維護記憶體和字串的指標,讓應用程式可以使用 GetText 成員函式來擷取特定項目的文字。 |
LBS_MULTICOLUMN |
指定水平捲動的多欄清單框。 SetColumnWidth 成員函式可設定資料行的寬度。 |
LBS_MULTIPLESEL |
每次使用者按兩下或雙擊字串時,就會切換字串選取範圍。 您可以選取任何數目的字串。 |
LBS_NODATA |
指定無資料清單框。 當清單方塊的項目計數會超過一千時,請指定此樣式。 無數據清單框也必須有 LBS_OWNERDRAWFIXED 樣式,但不能有 LBS_SORT 或 LBS_HASSTRINGS 樣式。無資料清單方塊類似於主控描繪清單方塊,但它的項目不包含字串或點陣圖資料。 加入、插入或刪除項目的命令永遠會忽略任何指定的項目資料;在清單方塊尋找字串的要求永遠會失敗。 系統在必須繪製專案時,將 WM_DRAWITEM 訊息傳送至擁有者視窗。 與訊息一起WM_DRAWITEM 傳遞之結構的itemID成員DRAWITEMSTRUCT 會指定要繪製之專案的行號。 無資料清單框不會傳送 WM_DELETEITEM 訊息。 |
LBS_NOINTEGRALHEIGHT |
清單框的大小正是應用程式在建立清單框時所指定的大小。 通常,Windows 會調整清單方塊的大小,使清單方塊不會只顯示一部分的項目。 |
LBS_NOREDRAW |
進行變更時,不會更新清單框顯示。 此樣式可以隨時藉由傳送 WM_SETREDRAW 訊息來變更。 |
LBS_NOSEL |
指定清單框包含可檢視但無法選取的專案。 |
LBS_NOTIFY |
每當使用者按兩下或按兩下字串時,父視窗就會收到輸入訊息。 |
LBS_OWNERDRAWFIXED |
清單框的擁有者負責繪製其內容;清單框中的專案高度相同。 |
LBS_OWNERDRAWVARIABLE |
清單框的擁有者負責繪製其內容;清單框中的專案高度為變數。 |
LBS_SORT |
清單框中的字串會依字母順序排序。 |
LBS_STANDARD |
清單框中的字串會依字母順序排序,而且每當使用者按兩下或按兩下字串時,父視窗就會收到輸入訊息。 清單方塊的每一邊都包含邊界。 |
LBS_USETABSTOPS |
允許清單框在繪製其字串時辨識並展開製表符。 預設的定位點位置是 32 個對話方塊單位 (對話框單位是水準或垂直距離。一個水平對話框單位等於目前對話框基底寬度單位的四分之一。對話框基底單位是根據目前系統字型的高度和寬度來計算。Windows 函 GetDialogBaseUnits 式會以像素為單位傳回目前的對話框基底單位。此樣式不應與 搭配 LBS_OWNERDRAWFIXED 使用。 |
LBS_WANTKEYBOARDINPUT |
每當使用者按下按鍵時,清單框的擁有者就會收到 WM_VKEYTOITEM 或 WM_CHARTOITEM 訊息,而清單框有輸入焦點。 這樣可以讓應用程式在鍵盤輸入時執行特殊的處理。 |
消息框樣式
消息框樣式會套用至 AfxMessageBox
專案。 在 的參數AfxMessageBox
中nType
指定樣式的組合。 如需 Windows 中訊息框樣式的詳細資訊,請參閱 MessageBox
函式 (Windows) 。
下列消息框樣式可供使用。
消息框類型
樣式 | 描述 |
---|---|
MB_ABORTRETRYIGNORE |
消息框包含三個按鈕:中止、重試和忽略。 |
MB_OK |
消息框包含一個按鈕:確定。 |
MB_OKCANCEL |
消息框包含兩個按鈕:[確定] 和 [取消]。 |
MB_RETRYCANCEL |
消息框包含兩個按鈕:重試和取消。 |
MB_YESNO |
消息框包含兩個按鈕:[是] 和 [否]。 |
MB_YESNOCANCEL |
消息框包含三個按鈕:[是]、[否] 和 [取消]。 |
消息框形式
樣式 | 描述 |
---|---|
MB_APPLMODAL |
用戶必須先回應消息框,才能繼續在目前視窗中工作。 不過,使用者可以移至其他應用程式的視窗,並在這些視窗中工作。 如果未MB_SYSTEMMODAL 指定 或 MB_TASKMODAL ,則預設值為 MB_APPLMODAL 。 |
MB_SYSTEMMODAL |
所有應用程式都會暫停,直到用戶回應消息框為止。 系統強制回應消息框可用來通知使用者需要立即注意且應謹慎使用的嚴重潛在破壞性錯誤。 |
MB_TASKMODAL |
類似於 MB_APPLMODAL ,但不適用於 Microsoft Foundation 類別應用程式。 此旗標會保留給沒有視窗句柄的呼叫應用程式或連結庫。 |
消息框圖示
樣式 | 描述 |
---|---|
MB_ICONEXCLAMATION |
消息框中會出現驚嘆號圖示。 |
MB_ICONINFORMATION |
由圓形中的 「I」 組成的圖示會出現在消息框中。 |
MB_ICONQUESTION |
消息框中會出現問號圖示。 |
MB_ICONSTOP |
消息框中會出現停用符號圖示。 |
消息框預設按鈕
樣式 | 描述 |
---|---|
MB_DEFBUTTON1 |
第一個按鈕是預設值。 請注意,除非指定 或 MB_DEFBUTTON3 ,否則MB_DEFBUTTON2 第一個按鈕一律為預設值。 |
MB_DEFBUTTON2 |
第二個按鈕是預設值。 |
MB_DEFBUTTON3 |
第三個按鈕是預設值。 |
滾動條樣式
滾動條樣式會套用至 CScrollBar
Class 物件。 在 的參數CScrollBar::Create
中dwStyle
指定樣式的組合。 如需 Windows 中滾動條控件樣式的詳細資訊,請參閱滾動條控件樣式(Windows)。
樣式 | 描述 |
---|---|
SBS_BOTTOMALIGN |
與樣式搭配 SBS_HORZ 使用。 滾動條的下邊緣會對齊成員函式中所 Create 指定矩形的下邊緣。 滾動條具有系統滾動條的預設高度。 |
SBS_HORZ |
指定水平滾動條。 SBS_BOTTOMALIGN 如果未指定 和 SBS_TOPALIGN 樣式,滾動條就會在成員函式中Create 指定高度、寬度和位置。 |
SBS_LEFTALIGN |
與樣式搭配 SBS_VERT 使用。 滾動條的左邊緣會對齊成員函式中所 Create 指定矩形的左邊緣。 滾動條具有系統滾動條的預設寬度。 |
SBS_RIGHTALIGN |
與樣式搭配 SBS_VERT 使用。 滾動條的右邊緣會對齊成員函式中所 Create 指定矩形的右邊緣。 滾動條具有系統滾動條的預設寬度。 |
SBS_SIZEBOX |
指定大小方塊。 SBS_SIZEBOXBOTTOMRIGHTALIGN 如果未指定 和 SBS_SIZEBOXTOPLEFTALIGN 樣式,大小方塊就會有成員函式中Create 指定的高度、寬度和位置。 |
SBS_SIZEBOXBOTTOMRIGHTALIGN |
與樣式搭配 SBS_SIZEBOX 使用。 大小方塊的右下角會對齊成員函式中所 Create 指定矩形的右下角。 大小方塊具有系統大小方塊的預設大小。 |
SBS_SIZEBOXTOPLEFTALIGN |
與樣式搭配 SBS_SIZEBOX 使用。 大小方塊的左上角會對齊成員函式中所 Create 指定矩形的左上角。 大小方塊具有系統大小方塊的預設大小。 |
SBS_SIZEGRIP |
與 SBS_SIZEBOX 相同,但具有凸起的邊緣。 |
SBS_TOPALIGN |
與樣式搭配 SBS_HORZ 使用。 滾動條的上邊緣會對齊成員函式中所 Create 指定矩形的上邊緣。 滾動條具有系統滾動條的預設高度。 |
SBS_VERT |
指定垂直滾動條。 SBS_RIGHTALIGN 如果未指定 和 SBS_LEFTALIGN 樣式,滾動條就會在成員函式中Create 指定高度、寬度和位置。 |
靜態樣式
靜態樣式會套用至 CStatic
Class 物件。 在 的參數CStatic::Create
中dwStyle
指定樣式的組合。 如需 Windows 中靜態控制件樣式的詳細資訊,請參閱 靜態控件樣式 (Windows) 。
樣式 | 描述 |
---|---|
SS_BITMAP |
指定要顯示在靜態控件中的點陣圖。 指定的文字是資源檔中其他地方所定義的點陣圖名稱(而非檔名)。 樣式會忽略 nWidth 和 nHeight 參數;控件會自動調整本身的大小以容納位圖。 |
SS_BLACKFRAME |
指定具有與視窗框架相同色彩繪製框架的方塊。 預設為黑色。 |
SS_BLACKRECT |
指定填滿用來繪製視窗框架之色彩的矩形。 預設為黑色。 |
SS_CENTER |
指定簡單的矩形,並顯示矩形中置中指定的文字。 文字會在顯示之前格式化。 將延伸超過行尾的字組會自動包裝至下一個置中線的開頭。 |
SS_CENTERIMAGE |
指定,如果點陣圖或圖示小於靜態控件的工作區,則工作區的其餘部分會填入位圖或圖示左上角圖元的色彩。 如果靜態控件包含單行文字,則文字會垂直置中於控件的工作區。 |
SS_ENDELLIPSIS |
或 SS_PATHELLIPSIS 視需要以省略號取代指定字串的一部分,使結果符合指定的矩形。 您可以指定 SS_END_ELLIPSIS 取代字串結尾的字元,或 SS_PATHELLIPSIS 取代字串中間的字元。 如果字串包含反斜杠 (\) 字元, SS_PATHELLIPSIS 則會盡可能保留最後一個反斜杠后的大部分文字。 |
SS_ENHMETAFILE |
指定要在靜態控件中顯示增強型元檔。 指定的文字是元檔的名稱。 增強型元文件靜態控件具有固定大小;元檔會縮放以符合靜態控件的工作區。 |
SS_ETCHEDFRAME |
使用 EDGE_ETCHED 邊緣樣式繪製靜態控件的框架。 |
SS_ETCHEDHORZ |
使用 EDGE_ETCHED 邊緣樣式繪製靜態控件的上邊緣和下邊緣。 |
SS_ETCHEDVERT |
使用 EDGE_ETCHED 邊緣樣式繪製靜態控件的左右邊緣。 |
SS_GRAYFRAME |
指定以與螢幕背景相同色彩繪製框架的方塊(桌面)。 預設為灰色。 |
SS_GRAYRECT |
指定填滿用來填滿螢幕背景色彩的矩形。 預設為灰色。 |
SS_ICON |
指定對話框中顯示的圖示。 指定的文字是資源檔中其他地方所定義的圖示名稱(而非檔名)。 nWidth 會忽略 和 nHeight 參數;圖示會自動調整本身的大小。 |
SS_LEFT |
指定簡單的矩形,並在矩形中顯示指定的文字排清左方。 文字會在顯示之前格式化。 將延伸超過行尾的文字會自動包裝至下一個排清左行的開頭。 |
SS_LEFTNOWORDWRAP |
指定簡單的矩形,並在矩形中顯示指定的文字排清左方。 索引標籤會展開,但不會包裝單字。 延伸超過行尾的文字會裁剪。 |
SS_NOPREFIX |
除非指定此樣式,否則 Windows 會將控件文字中的任何連字元和 (&) 字元解譯為快捷鍵前置字元。 在此情況下,會移除連字元,且字串中的下一個字元會加上底線。 如果靜態控件是要包含不想要此功能的文字, SS_NOPREFIX 可以新增。 此靜態控件樣式可以包含在任何定義的靜態控件中。 您可以使用位 OR 運算子與其他樣式結合 SS_NOPREFIX 。 當檔名或其他可能包含連字元的字串需要顯示在對話框中的靜態控件時,最常使用此字串。 |
SS_NOTIFY |
當使用者按兩下或雙擊控制項時,傳送父視窗 STN_CLICKED 、 STN_DBLCLK 、 STN_DISABLE 和 STN_ENABLE 通知訊息。 |
SS_OWNERDRAW |
指定靜態控件的擁有者負責繪製控件。 每當需要繪製控件時,擁有者視窗就會 WM_DRAWITEM 收到訊息。 |
SS_REALSIZEIMAGE |
防止載入或繪製靜態圖示或點陣圖控件(也就是具有 SS_ICON 或 SS_BITMAP 樣式的靜態控件)重設大小。 如果圖示或位陣圖大於目的地區域,則會裁剪影像。 |
SS_RIGHT |
指定簡單的矩形,並在矩形中顯示指定的文字排清右方。 文字會在顯示之前格式化。 將延伸超過行尾的文字會自動包裝至下一個排清右行的開頭。 |
SS_RIGHTJUST |
指定當控件重設大小時,靜態控件的右下角具有 SS_BITMAP 或 SS_ICON 樣式會維持固定。 只有頂端和左側會調整以容納新的點陣圖或圖示。 |
SS_SIMPLE |
指定簡單的矩形,並在矩形中顯示單行文字排清左。 文字行無法以任何方式縮短或改變。 (控件的父視窗或對話框不得處理 WM_CTLCOLOR 訊息。 |
SS_SUNKEN |
在靜態控件周圍繪製半沉沒的框線。 |
SS_USERITEM |
指定使用者定義的專案。 |
SS_WHITEFRAME |
指定具有與視窗背景相同色彩繪製框架的方塊。 預設為白色。 |
SS_WHITERECT |
指定填滿用來填滿視窗背景色彩的矩形。 預設為白色。 |
SS_WORDELLIPSIS |
截斷不符合的文字,並新增省略號。 |
視窗樣式
窗口樣式會套用至 CWnd
Class 物件。 在 或CWnd::CreateEx
的 dwStyle 參數CWnd::Create
中指定樣式的組合。 如需 Windows 中視窗樣式的詳細資訊,請參閱視窗樣式(Windows)。
樣式 | 描述 |
---|---|
WS_BORDER |
建立具有框線的視窗。 |
WS_CAPTION |
建立具有標題列的視窗(表示 WS_BORDER 樣式)。 無法搭配 WS_DLGFRAME 樣式使用。 |
WS_CHILD |
建立子視窗。 無法搭配 WS_POPUP 樣式使用。 |
WS_CHILDWINDOW |
與 WS_CHILD 樣式相同。 |
WS_CLIPCHILDREN |
在父視窗內繪圖時,應排除子視窗佔用的區域。 建立父視窗時使用。 |
WS_CLIPSIBLINGS |
裁剪彼此相對的子視窗;也就是說,當特定子視窗收到繪製訊息時, WS_CLIPSIBLINGS 樣式會將所有其他重疊子視窗從子視窗的區域裁剪為要更新。 (如果未 WS_CLIPSIBLINGS 指定 ,且子視窗重迭,當您在子視窗的工作區內繪製時,可以在鄰近子視窗的工作區內繪製。 WS_CHILD 僅適用於樣式。 |
WS_DISABLED |
建立一個一開始即停用的視窗。 |
WS_DLGFRAME |
建立具有雙框線但沒有標題的視窗。 |
WS_GROUP |
指定控制項群組的第一個控件,使用者可以使用箭頭鍵從一個控件移至下一個控制件。 第一個控件屬於相同群組之後, WS_GROUP 以樣式 FALSE 定義的所有控件。 樣式的 WS_GROUP 下一個控件會啟動下一個群組(也就是說,下一個群組會在下一個群組開始的地方結束)。 |
WS_HSCROLL |
建立具有水平滾動條的視窗。 |
WS_ICONIC |
建立一開始最小化的視窗。 與 WS_MINIMIZE 樣式相同。 |
WS_MAXIMIZE |
建立大小上限的視窗。 |
WS_MAXIMIZEBOX |
建立具有 [最大化] 按鈕的視窗。 |
WS_MINIMIZE |
建立一開始最小化的視窗。 WS_OVERLAPPED 僅適用於樣式。 |
WS_MINIMIZEBOX |
建立具有 [最小化] 按鈕的視窗。 |
WS_OVERLAPPED |
建立重疊的視窗。 重疊的視窗通常具有標題和框線。 |
WS_OVERLAPPEDWINDOW |
使用、WS_CAPTION 、WS_SYSMENU 、WS_THICKFRAME 、 WS_MINIMIZEBOX 和 WS_MAXIMIZEBOX 樣式建立重疊的視窗WS_OVERLAPPED 。 |
WS_POPUP |
建立彈出視窗。 無法搭配 WS_CHILD 樣式使用。 |
WS_POPUPWINDOW |
使用、 WS_POPUP 和 WS_SYSMENU 樣式建立彈出視窗WS_BORDER 。 樣式 WS_CAPTION 必須與樣式結合 WS_POPUPWINDOW ,才能顯示 [控件] 功能表。 |
WS_SIZEBOX |
建立具有重設大小框線的視窗。 與 WS_THICKFRAME 樣式相同。 |
WS_SYSMENU |
建立標題列中有 [控件] 選單框的視窗。 僅適用於標題列為視窗。 |
WS_TABSTOP |
指定使用者可以使用 TAB 鍵移動的任意數目控制項之一。 TAB 鍵會將使用者移至樣式所 WS_TABSTOP 指定的下一個控件。 |
WS_THICKFRAME |
建立具有厚框架的視窗,可用來調整視窗的大小。 |
WS_TILED |
建立重疊的視窗。 重疊的視窗具有標題列和框線。 與 WS_OVERLAPPED 樣式相同。 |
WS_TILEDWINDOW |
使用、WS_CAPTION 、WS_SYSMENU 、WS_THICKFRAME 、 WS_MINIMIZEBOX 和 WS_MAXIMIZEBOX 樣式建立重疊的視窗WS_OVERLAPPED 。 與 WS_OVERLAPPEDWINDOW 樣式相同。 |
WS_VISIBLE |
建立一個一開始即可見的視窗。 |
WS_VSCROLL |
建立具有垂直滾動條的視窗。 |
延伸窗口樣式
擴充視窗樣式會套用至 CWnd
Class 物件。 在 的參數CWnd::CreateEx
中dwExStyle
指定樣式的組合。 如需 Windows 中擴充視窗樣式的詳細資訊,請參閱擴充窗口樣式(Windows)。
樣式 | 描述 |
---|---|
WS_EX_ACCEPTFILES |
指定使用此樣式建立的視窗接受拖放檔案。 |
WS_EX_APPWINDOW |
當視窗可見時,強制最上層視窗到任務列。 |
WS_EX_CLIENTEDGE |
指定視窗具有 3D 外觀,也就是具有下沉邊緣的框線。 |
WS_EX_CONTEXTHELP |
在視窗的標題列中包含問號。 當使用者按兩下問號時,游標會變更為具有指標的問號。 如果使用者接著按兩下子視窗,則子系會收到 WM_HELP 訊息。 |
WS_EX_CONTROLPARENT |
允許使用者使用 TAB 鍵在視窗的子視窗之間巡覽。 |
WS_EX_DLGMODALFRAME |
指定具有雙框線的視窗,當您在 參數中dwStyle 指定WS_CAPTION 樣式旗標時,可以使用標題列來建立。 |
WS_EX_LAYERED |
視窗是分層 視窗。 如果視窗類別樣式為或 ,則無法使用此樣式 CS_OWNDC CS_CLASSDC 。 不過,Microsoft Windows 8 支援子視窗的 WS_EX_LAYERED 樣式,其中舊版 Windows 只支援最上層視窗。 |
WS_EX_LEFT |
提供視窗一般靠左對齊的屬性。 這是預設值。 |
WS_EX_LEFTSCROLLBAR |
將垂直滾動條放在工作區左邊。 |
WS_EX_LTRREADING |
使用由左至右閱讀順序屬性顯示視窗文字。 這是預設值。 |
WS_EX_MDICHILD |
建立 MDI 子視窗。 |
WS_EX_NOPARENTNOTIFY |
指定使用此樣式建立的子視窗,在建立或終結子視窗時,不會將訊息傳送 WM_PARENTNOTIFY 至其父視窗。 |
WS_EX_OVERLAPPEDWINDOW |
結合 WS_EX_CLIENTEDGE 和 WS_EX_WINDOWEDGE 樣式 |
WS_EX_PALETTEWINDOW |
結合 WS_EX_WINDOWEDGE 和 WS_EX_TOPMOST 樣式。 |
WS_EX_RIGHT |
提供視窗一般靠右對齊的屬性。 這取決於視窗類別。 |
WS_EX_RIGHTSCROLLBAR |
將垂直滾動條(如果有的話)放在工作區右側。 這是預設值。 |
WS_EX_RTLREADING |
使用從右至左閱讀順序屬性顯示視窗文字。 |
WS_EX_STATICEDGE |
建立具有三維框線樣式的視窗,用於不接受使用者輸入的專案。 |
WS_EX_TOOLWINDOW |
建立工具視窗,這是用來做為浮動工具列的視窗。 工具視窗的標題列較一般標題列短,而且使用小字型繪製視窗標題。 工具視窗不會在工作列中顯示,當使用者按下 ALT+TAB 時也不會在出現的視窗中顯示。 |
WS_EX_TOPMOST |
指定使用此樣式建立的視窗應該放在所有非頂端視窗上方,即使停用視窗,仍會維持在上方。 應用程式可以使用 SetWindowPos 成員函式來加入或移除此屬性。 |
WS_EX_TRANSPARENT |
指定使用此樣式建立的視窗為透明。 也就是說,在這個視窗下的任何視窗不會被遮蔽。 使用此樣式建立的視窗只會在更新其下方的所有同層級窗口之後,才會接收 WM_PAINT 訊息。 |
WS_EX_WINDOWEDGE |
指定視窗具有具有凸起邊緣的框線。 |
另請參閱
MFC 類別概觀
CWnd::Create
CWnd::CreateEx
CEdit::Create
CScrollBar::Create
CStatic::Create
AfxMessageBox
CreateWindow
CreateWindowEx
按鈕樣式 (Windows)
下拉式方塊樣式 (Windows)
編輯控制樣式 (Windows)
清單框樣式 (Windows)
MessageBox
函式 (Windows)
滾動條控制件樣式 (Windows)
靜態控件樣式 (Windows)
視窗樣式 (Windows)
延伸視窗樣式 (Windows)