風格 描述
按鈕風格 應用於CButton類對象,例如單選框、復選框和按鈕。在CButton::Create的dwStyle參數中設置一個組合的風格。
組合框風格 應用於CComboBox類對象。在CComboBox::Create的dwStyle參數中設置一個組合的風格。
編輯風格 應用於CEdit類對象。在CEdit::Create的dwStyle參數中設置一個組合的風格。
框架窗口風格 應用於CFrameWnd類對象。在CFrameWnd::Create的dwStyle參數中設置一個組合的風格。
列表框風格 應用於CListBox類對象。在CListBox::Create的dwStyle參數中設置一個組合的風格。
消息框風格 應用於AfxMessageBox項。在AfxMessageBox的nType參數中設置一個組合的風格。
滾動條風格 應用於CScrollBar類對象。在CScrollBar::Create的dwStyle參數中設置一個組合的風格。
靜態文本風格 應用於CStatic類對象。在CStatic::Create的dwStyle參數中設置一個組合的風格。
窗口風格 應用於CWnd類對象。在CWnd::Create或CWnd::CreateEx的dwStyle參數中設置一個組合的風格。
擴展窗口風格 應用於CWnd類對象。在CWnd::CreateEx的dwExStyle參數中設置一個組合的風格。
按鈕風格
· BS_AUTOCHECKBOX 與復選框相同,但是當用戶選擇復選框時,檢查標記出現在復選框中,而當用戶再一次選擇復選框時,檢查標記就消失。
· BS_AUTORADIOBUTTON 與單項按鈕相同,但是當用戶選擇它的時候,這個按鈕自動加亮顯示自己並去掉同組中相同風格的其它單項按鈕的選擇狀態。
· BS_AUTO3STATE 與三態復選框相同,但是當用戶選擇該框時它會改變自己的狀態。
· BS_CHECKBOX 創建一個小方塊,在它的右邊顯示文本(除非這個風格與BS_LEFTTEXT風格一起使用)。
· BS_DEFPUSHBUTTON 創建一個具有深黑邊界的按鈕。用戶可以按下ENTER鍵以選擇這個按鈕。這個風格使用戶可以快速地選擇最相似的選項(缺省選項)。
· BS_GROUPBOX 創建一個矩形區域,其中的按鈕是成組的。與這種風格相關的任何文本將顯示在矩形的左上角。
· BS_LEFTTEXT 當與單項按鈕風格或復選框風格一起使用時,文本出現在單項按鈕或復選框的左邊。
· BS_OWNERDRAW 創建一個自畫按鈕。當按鈕的視覺狀態發生改變時,框架調用DrawItem成員函數。當使用CBitmapButton類的時候,必須設置這個風格。
· BS_PUSHBUTTON 創建一個按鈕,當用戶選擇該按鈕時向所有者窗口發送一個WM_COMMAND消息。
· BS_RADIOBUTTON 創建一個小圓形區域,在它的右邊顯示文本(除非這個風格與BS_LEFTTEXT風格一起使用)。單項按鈕通常成組使用但是只能獨占選擇。
· BS_3STATE 與復選框類似,但是這個框不僅可以被選中,還可以被變灰。變灰狀態通常用來標識該復選框已經被禁止。
請參閱:CButton::Create
組合框風格
· CBS_AUTOHSCROLL 當用戶在行尾輸入一個字符時,自動把編輯控件中的文本向右滾動。如果沒有設置該風格,則輸入的文本信息只能多到填滿矩形邊框。
· CBS_DROPDOWN 與CBS_SIMPLE類似,但是除非用戶選擇了編輯控件旁邊的圖標,否則不會顯示列表框。
· CBS_DROPDOWNLIST 與CBS_DROPDOWN類似,但是編輯控件被靜態文本項代替,其中顯示了列表框中的當前選擇。
· CBS_HASSTRINGS 包含了字符串組成的項的自畫組合框。組合框維護着字符串的內存和指針,因此應用程序可以使用GetText成員函數從某個項獲得文本。
· CBS_OEMCONVERT 在組合框的編輯控件內輸入的文本將從ANSI字符集轉換到OEM字符集,然后再回到ANSI。當應用程序調用Windows的AnsiToOem函數把組合框中的一個ANSI字符串轉換到OEM字符時,這能確保進行了合適的字符轉換。這個風格對那些包含了文件名的組合框最有用,僅適用於用CBS_SIMPLE或CBS_DROPDOWN風格創建的組合框。
· CBS_OWNERDRAWFIXED 列表框的擁有者負責畫出其內容,列表框中所有項的高度是一樣的。
· CBS_OWNERDRAWVARIABLE 列表框的擁有者負責畫出其內容,列表框中各項的高度是不一致的。
· CBS_SIMPLE 任何時候都顯示列表框。列表框的當前選擇顯示在編輯控件中。
· CBS_SORT 自動排列輸入到列表框的字符串。
· CBS_DISABLENOSCROLL 當列表框沒有足夠的項以供滾動時,列表框將顯示一個被禁止的垂直滾動條。如果沒有這種風格,當列表框不包含足夠的項時,這個滾動條將會被隱藏。
· CBS_NOINTEGRALHEIGHT 指明組合框的大小就是應用程序在創建該組合框時指定的大小。通常,Windows會調整一些組合框的大小,使得組合框不需要顯示部分項。
請參閱:CComboBox::Create
編輯風格
· ES_AUTOHSCROLL 當用戶在行尾輸入字符時,自動將文本向右滾動10個字符。當用戶按下ENTER鍵時,控件將文本滾動回起始位置。
· ES_AUTOVSCROLL 當用戶在最后一行輸入ENTER時,自動將文本向上滾動一頁。
· ES_CENTER 在單行或多行編輯控件中將文本對中。
· ES_LEFT 在單行或多行編輯控件中將文本靠左對齊。
· ES_LOWERCASE 將用戶輸入到編輯控件的字符全部轉換為小寫。
· ES_MULTILINE 指明了一個多行編輯控件(缺省的是單行的)。如果指定了ES_AUTOVSCROLL風格,編輯控件將顯示盡可能多的文本,並且當用戶按下ENTER鍵時會自動地垂直滾動文本。如果沒有指定ES_AUTOVSCROLL風格,則編輯控件將顯示盡可能多的行,如果在按下ENTER鍵卻沒有更多的行要顯示的話,就發出蜂鳴聲。如果指定了ES_AUTOHSCROLL風格,當光標到達控件的右邊時,多行編輯控件會自動地水平滾動文本。如果要開始一個新行,用戶必須按下ENTER鍵。如果沒有指定ES_AUTOHSCROLL風格,控件會在有必要時自動將單詞折合到下一行的開始。如果按下ENTER鍵,則另起一行。折回單詞的位置是由窗口的大小決定的。如果窗口的大小發生改變,折回單詞的位置也會反生改變,將會重新顯示文本。多行編輯控件可以有滾動條。具有滾動條的編輯控件會處理它自己的滾動條消息。沒有滾動條的編輯控件按照前面描述的方式進行滾動,並且處理父窗口發出的任何滾動消息。
· ES_NOHIDESEL 通常,當編輯控件失去輸入焦點時,它會隱藏選擇區域,當它獲得輸入焦點時,它會反轉顯示選擇區域。如果指定了ES_NOHIDESEL風格則去掉了這個缺省的動作。
· ES_OEMCONVERT 輸入到編輯控件的文本將被從ANSI字符集轉換到OEM字符集,然后轉換回ANSI字符集。這使得在應用程序調用Windows的AnsiToOem函數以把編輯控件中的ANSI字符串轉換為OEM字符時,能夠進行正確的字符轉換。這個風格對包含文件名的編輯控件最有用。
· ES_PASSWORD 在編輯控件中輸入字符時,將所有的字符顯示為星號(*)。應用程序可以通過SetPasswordChar成員函數來改變顯示的字符。
· ES_RIGHT 在單行或多行編輯控件中將文本靠右對齊。
· ES_UPPERCASE 在編輯控件中輸入字符時,將所有的字符轉換為大寫。
· ES_READONLY 禁止用戶輸入或修改編輯控件中的文本。
· ES_WANTRETURN 指定當用戶在對話框中的多行編輯控件中輸入文本時,如果按下了ENTER鍵,則插入回車換行符。如果不使用這個風格,按下ENTER鍵的效果與按下對話框的缺省按鈕相同。這個風格對單行編輯控件不起作用。
請參閱:CEdit::Create
框架窗口風格
· FWS_ADDTOTITLE 指定了要附加到框架窗口標題末尾的信息。例如,“Microsoft Draw - Drawing in Document1”。你可以指定顯示在AppWizard的Advanced Options對話框中的字符串。如果你希望關閉這個選項,重載CWnd::PreCreateWindow消息。
· FWS_PREFIXTITLE 在框架窗口的標題中,在應用程序的名字之前顯示文檔的名字。例如,“Document - WordPad”。你可以指定顯示在AppWizard的Advanced Options對話框中的字符串。如果你希望關閉這個選項,重載CWnd::PreCreateWindow消息。
· FWS_SNAPTOBARS 控制框架窗口的大小,該窗口圍繞着一個控制條,這個控制條是一個浮動窗口,而不是固定在框架窗口中。這個風格調整窗口的大小以使用控制條。
列表框風格
· LBS_EXTENDEDSEL 用戶可以通過鼠標和SHIFT鍵或者其它特殊鍵組合來選取多個項。
· LBS_HASSTRINGS 指定自畫列表框中包含的項是由字符串組成的。列表框維護着字符串的內存和指針,應用程序可以使用GetText成員函數來獲得特定項的文本。
· LBS_MULTICOLUMN 指定一個可以水平滾動的多列列表框。SetColumnWidth成員函數設置列的寬度。
· LBS_MULTIPLESEL 當用戶單擊或雙擊字符串時,切換字符串的選擇狀態。可以選擇任意數目的字符串。
· LBS_NOINTEGRALHEIGHT 列表框的大小與應用程序創建它的時候指定的大小完全相等。通常,Windows會調整列表框的大小,是列表框不會只顯示部分項。
· LBS_NOREDRAW 當列表框發生變化時不更新顯示。這個風格可以通過發送WM_SETREDRAW消息在任何時間改變。
· LBS_NOTIFY 當用戶單擊或雙擊字符串時,父窗口接收到一個輸入消息。
· LBS_OWNERDRAWFIXED 列表框的所有者負責畫出它的內容,列表框中的各項是等高的。
· LBS_OWNERDRAWVARIABLE 列表框的所有者負責畫出其內容,列表框中的各項的高度不相同。
· LBS_SORT 列表框中的字符串是按照字母表順序排列的。
· LBS_STANDARD 列表框中的字符串是按照字母表順序排序的,當用戶單擊或雙擊字符串時,父窗口接收到一個輸入消息。列表框在每條邊上都有邊界。
· LBS_USETABSTOPS 允許列表框在顯示字符串的時候識別並擴展制表字符。缺省的制表位置是32個對話框單位。(對話框單位是水平或垂直距離。水平對話框單位等於當前對話框基准寬度單位的四分之一。對話框基准單位是通過當前系統字體的寬度和高度來計算的。Windows的GetDialogBaseUnits函數返回以象素為單位的當前對話框基准單位。)
· LBS_WANTKEYBOARDINPUT 不論什么時候,只要用戶在列表框具有輸入焦點的時候按下了鍵,列表框就接收到WM_VKEYTOITEM或WM_CHARTOITEM消息。這使得應用程序能夠對鍵盤輸入進行特別處理。
· LBS_DISABLENOSCROLL 當列表框中沒有足夠多的項,不需要滾動時,就顯示一個被禁止的垂直滾動條。如果不使用這個風格,當列表框不包含足夠多的項時,它就隱藏滾動條。
請參閱:CListBox::Create
消息框風格
消息框類型
· MB_ABORTRETRYIGNORE 消息框包含三個按鈕:Abort,Retry和Ignore。
· MB_OK 消息框包含一個按鈕:OK。
· MB_OKCANCEL 消息框包含兩個按鈕:OK和Cancel。
· MB_RETRYCANCEL 消息框包含兩個按鈕:Retry和Cancel。
· MB_YESNO 消息框包含兩個按鈕:Yes和No。
· MB_YESNOCANCEL 消息框包含三個按鈕:Yes,No和Cancel。
消息框模式
· MB_APPLMODAL 用戶在當前窗口中繼續工作之前必須先響應消息框。但是,用戶可以移動到其它應用程序的窗口中並在那些窗口中工作。如果沒有指定MB_SYSTEMMODAL和MB_TASKMODAL,則缺省值為MB_APPLMODAL。
· MB_SYSTEMMODAL 在用戶響應消息框之前,所有的應用程序都被掛起。系統模式消息框被用來向用戶通知嚴重的、潛在的毀滅性錯誤,需要立即注意,小心對待。
· MB_TASKMODAL 與MB_APPLMODAL類似,但是在微軟基礎類應用程序中沒有用處。這個標志是為那些沒有窗口句柄的調用應用程序或庫保留的。
消息框圖標
· MB_ICONEXCLAMATION 在消息框中顯示感嘆號圖標。
· MB_ICONINFORMATION 在消息框中顯示一個圓包圍着字母“i”的圖標。
· MB_ICONQUESTION 在消息框中顯示問號圖標。
· MB_ICONSTOP 在消息框中顯示停止標志圖標。
消息框缺省按鈕
· MB_DEFBUTTON1 第一個按鈕是缺省按鈕。注意,除非指定了MB_DEFBUTTON2 或MB_DEFBUTTON3風格,否則第一個按鈕總是缺省按鈕。
· MB_DEFBUTTON2 第二個按鈕是缺省按鈕。
· MB_DEFBUTTON3 第三個按鈕是缺省按鈕。
請參閱:AfxMessageBox
滾動條風格
· 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_TOPALIGN 與SBS_HORZ風格一起使用。滾動條的頂邊與Create成員函數中指定的矩形的頂邊對齊。滾動條具有系統滾動條的缺省高度。
· SBS_VERT 指明了一個垂直滾動條。如果既沒有指定SBS_RIGHTALIGN風格也沒有指定SBS_LEFTALIGN風格,滾動條具有Create成員函數中指定的高度,寬度和位置。
請參閱:CScrollBar::Create
靜態文本風格
· SS_BLACKFRAME 指定了一個帶邊框的方框,用與窗口邊框相同的顏色畫出。缺省的顏色是黑色。
· SS_BLACKRECT 指定一個矩形,用窗口邊框的顏色填充。缺省顏色是黑色。
· SS_CENTER 指定一個簡單的矩形,在矩形的中央顯示給定的文本。文本將在顯示之前格式化。超出行尾的單詞將自動折回到下一行的開始。
· SS_GRAYFRAME 指定一個帶邊框的方框,用屏幕的背景色(桌面顏色)畫出。缺省的顏色是灰色。
· SS_GRAYRECT 指定一個矩形,用屏幕的背景色填充。缺省的顏色是灰色。
· SS_ICON 指定了在對話框中顯示的圖標。給定的文本是資源文件中定義的圖標名(不是文件名)。nWidth和nHeight參數被忽略,圖標自動調整自己的大小。
· SS_LEFT 指定一個簡單的矩形,在矩形內顯示左對齊的給定文本。文本在顯示之前格式化。超出行尾的單詞將自動折回到下一行的開始。
· SS_LEFTNOWORDWRAP 指定一個簡單的矩形,在矩形內顯示左對齊的給定文本。制表符被擴展,但是不會折回單詞。超出行尾的單詞被裁剪。
· SS_NOPREFIX 除非指定了這個風格,否則Windows將控制文本中所有的“&”字符解釋為加速鍵前綴。在這種情況下,“&”被移去,字符串中的下一個字符被加上下划線。如果一個包含文本的靜態文本控件不需要這個特性,可能需要加入SS_NOPREFIX。這個風格可以用於任何靜態控件。你可以用位或操作符把SS_NOPREFIX與其它風格組合起來。最常使用這個風格的情況是,可能要在對話框的靜態控件中顯示帶有“&”字符的文件名或其它字符串。
· SS_RIGHT 指定一個簡單的矩形,在矩形內顯示右對齊的給定文本。文本在顯示之前格式化。超出行尾的單詞將自動折回到下一行的開始。
· SS_SIMPLE 指定一個簡單的矩形,在矩形內顯示一行左對齊的文本。文本行不能用任何方法縮短或改變。(控件的父窗口或對話框不能處理WM_CTLCOLOR消息)
· SS_USERITEM 指定一個用戶自定義的項。
· SS_WHITEFRAME 指定一個帶邊框的方框,用窗口背景色畫出。缺省值為白色。
· SS_WHITERECT 指定一個矩形,用窗口背景色填充。缺省值為白色。
請參閱:CStatic::Create
窗口風格
· WS_BORDER 創建一個有邊界的窗口。
· WS_CAPTION 創建一個有標題條的窗口(隱含WS_BORDER風格)。不能與WS_DLGFRAME風格一起使用。
· WS_CHILD 創建一個子窗口。不能與WS_POPUP風格一起使用。
· WS_CLIPCHILDREN 當你在父窗口中繪圖時,除去子窗口所占的區域。在創建父窗口的時候使用。
· WS_CLIPSIBLINGS 剪裁相關的子窗口,這意味着,當一個特定的子窗口接收到重繪消息時,WS_CLIPSIBLINGS風格將在子窗口要重畫的區域中去掉與其它子窗口重疊的部分。(如果沒有指定WS_CLIPSIBLINGS風格,並且子窗口有重疊,當你在一個子窗口的客戶區繪圖時,它可能會畫在相鄰的子窗口的客戶區中。)只與WS_CHILD風格一起使用。
· WS_DISABLED 創建一個初始狀態為禁止的窗口。
· WS_DLGFRAME 創建一個窗口,具有雙重邊界,但是沒有標題條。
· WS_GROUP 指定一組控件中的第一個,用戶可以用箭頭鍵在這組控件中移動。在第一個控件后面把WS_GROUP風格設置為FALSE的控件都屬於這一組。下一個具有WS_GROUP風格的控件將開始下一組(這意味着一個組在下一組的開始處結束)。
· WS_HSCROLL 創建一個具有水平滾動條的窗口。
· WS_MAXIMIZE 創建一個最大化的窗口。
· WS_MAXIMIZEBOX 創建一個具有最大化按鈕的窗口。
· WS_MINIMIZE 創建一個初始狀態為最小化的窗口。僅與WS_OVERLAPPED風格一起使用。
· WS_MINIMIZEBOX 創建一個具有最小化按鈕的窗口。
· WS_OVERLAPPED 創建一個重疊窗口。重疊窗口通常具有標題條和邊界。
· WS_OVERLAPPEDWINDOW 創建一個具有WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU,WS_THICKFRAME,WS_MINIMIZEBOX和WS_MAXIMIZEBOX風格的重疊式窗口。
· WS_POPUP 創建一個彈出式窗口,不能與WS_CHILD風格一起使用。
· WS_POPUPWINDOW 創建一個具有WS_BORDER,WS_POPUP和WS_SYSMENU風格的彈出窗口。為了使控制菜單可見,必須與WS_POPUPWINDOW一起使用WS_CAPTION風格。
· WS_SYSMENU 創建一個在標題條上具有控制菜單的窗口。僅對帶標題條的窗口使用。
· WS_TABSTOP 指定了一些控件中的一個,用戶可以通過TAB鍵來移過它。TAB鍵使用戶移動到下一個用WS_TABSTOP風格定義的控件。
· WS_THICKFRAME 創建一個具有厚邊框的窗口,可以通過厚邊框來改變窗口大小。
· WS_VISIBLE 創建一個最初可見的窗口。
· WS_VSCROLL 創建一個具有垂直滾動條的窗口。
請參閱:CWnd::Create, CWnd::CreateEx
擴展窗口風格
· WS_EX_ACCEPTFILES 指明用這個風格創建的窗口能夠接受拖放文件。
· WS_EX_CLIENTEDGE 指明窗口具有3D外觀,這意味着,邊框具有下沉的邊界。
· WS_EX_CONTEXTHELP 在窗口的標題條中包含問號。當用戶單擊問號時,鼠標光標的形狀變為帶指針的問號。如果用戶隨后單擊一個子窗口,子窗口將接收到一個WM_HELP消息。
· WS_EX_CONTROLPARENT 允許用戶用TAB鍵遍歷窗口的子窗口。
· WS_EX_DLGMODALFRAME 指明一個具有雙重邊界的窗口,當你在dwStyle參數中指定了WS_CAPTION風格標志時,它可以具有標題條(可選)。
· 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_WIND-OWEDGE風格。
· 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 指定用這個風格創建的窗口必須被放在所有非頂層窗口的上面,即使這個窗口已經不處於激活狀態,它還是保留在最上面。應用程序可以用SetWindowsPos成員函數來加入或去掉這個屬性。
· WS_EX_TRANSPARENT 指定了用這個風格創建的窗口是透明的。這意味着,在這個窗口下面的任何窗口都不會被這個窗口擋住。用這個風格創建的窗口只有當它下面的窗口都更新過以后才接收WM_PAINT消息。
· WS_EX_WINDOWEDGE 指定了具有凸起邊框的窗口。
http://blog.csdn.net/witch_soya/article/details/7719260