MFC使用的风格

发布时间:


MFC使用的风格
当你创建相应的MFC时,使用下列风格。
在大多数情况下,这些风格通常在类的Create函数的dwStyle参数中设置。
MFC风格风格按钮风格组合框风格编辑风格框架窗口风格列表框风格消息框风格滚动条风格静态文本风格窗口风格扩展窗口风格
描述
应用于CButton类对象,例如单选框、复选框和按钮。在CButton::CreatedwStyle参数中设置一个组合的风格。
应用于CComboBox类对象。在CComboBox::CreatedwStyle参数中设置一个组合的风格。应用于CEdit类对象。在CEdit::CreatedwStyle参数中设置一个组合的风格。
应用于CFrameWnd类对象。在CFrameWnd::CreatedwStyle参数中设置一个组合的风格。应用于CListBox类对象。在CListBox::CreatedwStyle参数中设置一个组合的风格。应用于AfxMessageBox项。在AfxMessageBoxnType参数中设置一个组合的风格。应用于CScrollBar类对象。在CScrollBar::CreatedwStyle参数中设置一个组合的风格。应用于CStatic类对象。在CStatic::CreatedwStyle参数中设置一个组合的风格。
应用于CWnd类对象。在CWnd::CreateCWnd::CreateExdwStyle参数中设置一个组合的风格。
应用于CWnd类对象。在CWnd::CreateExdwExStyle参数中设置一个组合的风格。
按钮风格
·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与复选框类似,但是这个框不仅可以被选中,还可以被变灰。变灰状态通常用来标识该复选框已经被禁止。组合框风格
·CBS_AUTOHSCROLL当用户在行尾输入一个字符时,自动把编辑控件中的文本向右滚动。如果没有设置该风格,则输入的文本信息只能多到填满矩形边框。



·CBS_DROPDOWNCBS_SIMPLE类似,但是除非用户选择了编辑控件旁边的图标,否则不会显示列表框。·CBS_DROPDOWNLISTCBS_DROPDOWN类似,但是编辑控件被静态文本项代替,其中显示了列表框中的当前选择。
·CBS_HASSTRINGS包含了字符串组成的项的自画组合框。组合框维护着字符串的内存和指针,因此应用程序可以使用GetText成员函数从某个项获得文本。·CBS_OEMCONVERT在组合框的编辑控件内输入的文本将从ANSI字符集转换到OEM字符集,然后再回到ANSI当应用程序调用WindowsAnsiToOem函数把组合框中的一个ANSI字符串转换到OEM字符时,这能确保进行了合适的字符转换。这个风格对那些包含了文件名的组合框最有用,仅适用于用CBS_SIMPLECBS_DROPDOWN风格创建的组合框。
·CBS_OWNERDRAWFIXED列表框的拥有者负责画出其内容,列表框中所有项的高度是一样的。·CBS_OWNERDRAWVARIABLE列表框的拥有者负责画出其内容,列表框中各项的高度是不一致的。·CBS_SIMPLE任何时候都显示列表框。列表框的当前选择显示在编辑控件中。·CBS_SORT自动排列输入到列表框的字符串。
·CBS_DISABLENOSCROLL当列表框没有足够的项以供滚动时,列表框将显示一个被禁止的垂直滚动条。如果没有这种风格,当列表框不包含足够的项时,这个滚动条将会被隐藏。
·CBS_NOINTEGRALHEIGHT指明组合框的大小就是应用程序在创建该组合框时指定的大小。通常,Windows调整一些组合框的大小,使得组合框不需要显示部分项。编辑风格
·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字符集。这使得在应用程序调用WindowsAnsiToOem函数以把编辑控件中的ANSI字符串转换为OEM字符时,能够进行正确的字符转换。这个风格对包含文件名的编辑控件最有用。
·ES_PASSWORD在编辑控件中输入字符时,将所有的字符显示为星号(*。应用程序可以通过SetPasswordChar成员函数来改变显示的字符。
·ES_RIGHT在单行或多行编辑控件中将文本靠右对齐。
·ES_UPPERCASE在编辑控件中输入字符时,将所有的字符转换为大写。·ES_READONLY禁止用户输入或修改编辑控件中的文本。
·ES_WANTRETURN指定当用户在对话框中的多行编辑控件中输入文本时,如果按下了ENTER键,则插入回车换行符。如果不使用这个风格,按下ENTER键的效果与按下对话框的缺省按钮相同。这个风格对单行编辑控件不起



作用。框架窗口风格
·FWS_ADDTOTITLE指定了要附加到框架窗口标题末尾的信息。例如,MicrosoftDraw-DrawinginDocument1AppWizardAdvancedOptions串。个选CWnd::PreCreateWindow消息。·FWS_PREFIXTITLE在框架窗口的标题中,在应用程序的名字之前显示文档的名字。例如,Document-WordPadAppWizardAdvancedOptions串。个选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个对话框单位。(对话框单位是水平或垂直距离。水平对话框单位等于当前对话框基准宽度单位的四分之一。对话框基准单位是通过当前系统字体的宽度和高度来计算的。WindowsGetDialogBaseUnits函数返回以象素为单位的当前对话框基准单位。
·LBS_WANTKEYBOARDINPUT不论什么时候,只要用户在列表框具有输入焦点的时候按下了键,列表框就接收WM_VKEYTOITEMWM_CHARTOITEM消息。这使得应用程序能够对键盘输入进行特别处理。
·LBS_DISABLENOSCROLL当列表框中没有足够多的项,不需要滚动时,就显示一个被禁止的垂直滚动条。如果不使用这个风格,当列表框不包含足够多的项时,它就隐藏滚动条。消息框风格
消息框类型·MB_ABORTRETRYIGNORE消息框包含三个按钮:AbortRetryIgnore·MB_OK消息框包含一个按钮:OK
·MB_OKCANCEL消息框包含两个按钮:OKCancel
·MB_RETRYCANCEL消息框包含两个按钮:RetryCancel·MB_YESNO消息框包含两个按钮:YesNo
·MB_YESNOCANCEL消息框包含三个按钮:YesNoCancel



消息框模式·MB_APPLMODAL用户在当前窗口中继续工作之前必须先响应消息框。但是,用户可以移动到其它应用程序的窗口中并在那些窗口中工作。如果没有指定MB_SYSTEMMODALMB_TASKMODAL,则缺省值为MB_APPLMODAL
·MB_SYSTEMMODAL在用户响应消息框之前,所有的应用程序都被挂起。系统模式消息框被用来向用户通知严重的、潜在的毁灭性错误,需要立即注意,小心对待。
·MB_TASKMODALMB_APPLMODAL类似,但是在微软基础类应用程序中没有用处。这个标志是为那些没有窗口句柄的调用应用程序或库保留的。
消息框图标·MB_ICONEXCLAMATION在消息框中显示感叹号图标。
·MB_ICONINFORMATION在消息框中显示一个圆包围着字母“i”的图标。·MB_ICONQUESTION在消息框中显示问号图标。·MB_ICONSTOP在消息框中显示停止标志图标。
消息框缺省按钮·MB_DEFBUTTON1第一个按钮是缺省按钮。注意,除非指定了MB_DEFBUTTON2MB_DEFBUTTON3风格,否则第一个按钮总是缺省按钮。·MB_DEFBUTTON2第二个按钮是缺省按钮。·MB_DEFBUTTON3第三个按钮是缺省按钮。滚动条风格
·SBS_BOTTOMALIGNSBS_HORZ风格一起使用。滚动条的底边与Create成员函数中指定的矩形的底边对齐。滚动条具有系统滚动条的缺省高度。
·SBS_HORZ指明了一个水平滚动条。如果既没有指定SBS_BOTTOMALIGN风格又没有指定SBS_TOPALIGN格,则滚动条具有Create成员函数中指定的高度,宽度和位置。
·SBS_LEFTALIGNSBS_VERT风格一起使用。滚动条的左边与Create成员函数中指定的矩形的左边对齐。滚动条具有系统滚动条的缺省宽度。
·SBS_RIGHTALIGNSBS_VERT风格一起使用。滚动条的右边与Create成员函数中指定的矩形的右边对齐。滚动条具有系统滚动条的缺省宽度。
·SBS_SIZEBOXSBS_SIZEBOXBOTTOMRIGHTALIGNSBS_SIZEBOXTOPLEFTALIGN风格都没有指定,尺寸框具有Create成员函数中指定的高度,宽度和位置。
·SBS_SIZEBOXBOTTOMRIGHTALIGNSBS_SIZEBOX风格一起使用。尺寸框的右下角与Create成员函数中指定的矩形的右下角对齐。尺寸框具有系统尺寸框的缺省大小。
·SBS_SIZEBOXTOPLEFTALIGNSBS_SIZEBOX风格一起使用。尺寸框的左上角与Create成员函数中指定的矩形的左上角对齐。尺寸框具有系统尺寸框的缺省大小。
·SBS_TOPALIGNSBS_HORZ风格一起使用。滚动条的顶边与Create成员函数中指定的矩形的顶边对齐。滚动条具有系统滚动条的缺省高度。·SBS_VERT指明了一个垂直滚动条。如果既没有指定SBS_RIGHTALIGN风格也没有指定SBS_LEFTALIGN风格,滚动条具有Create成员函数中指定的高度,宽度和位置。静态文本风格
·SS_BLACKFRAME指定了一个带边框的方框,用与窗口边框相同的颜色画出。缺省的颜色是黑色。·SS_BLACKRECT指定一个矩形,用窗口边框的颜色填充。缺省颜色是黑色。
·SS_CENTER指定一个简单的矩形,在矩形的中央显示给定的文本。文本将在显示之前格式化。超出行尾的单词将自动折回到下一行的开始。
·SS_GRAYFRAME指定一个带边框的方框,用屏幕的背景色(桌面颜色)画出。缺省的颜色是灰色。·SS_GRAYRECT指定一个矩形,用屏幕的背景色填充。缺省的颜色是灰色。



·SS_ICON指定了在对话框中显示的图标。给定的文本是资源文件中定义的图标名(不是文件名)nWidthnHeight参数被忽略,图标自动调整自己的大小。
·SS_LEFT指定一个简单的矩形,在矩形内显示左对齐的给定文本。文本在显示之前格式化。超出行尾的单词将自动折回到下一行的开始。
·SS_LEFTNOWORDWRAP指定一个简单的矩形,在矩形内显示左对齐的给定文本。制表符被扩展,但是不会折回单词。超出行尾的单词被裁剪。
·SS_NOPREFIX除非指定了这个风格,否则Windows将控制文本中所有的“&”字符解释为加速键前缀。在这种情况下,&”被移去,字符串中的下一个字符被加上下划线。如果一个包含文本的静态文本控件不需要这个特性,可能需要加入SS_NOPREFIX。这个风格可以用于任何静态控件。你可以用位或操作符把SS_NOPREFIX与其它风格组合起来。最常使用这个风格的情况是,可能要在对话框的静态控件中显示带有“&”字符的文件名或其它字符串。·SS_RIGHT指定一个简单的矩形,在矩形内显示右对齐的给定文本。文本在显示之前格式化。超出行尾的单词将自动折回到下一行的开始。
·SS_SIMPLE指定一个简单的矩形,在矩形内显示一行左对齐的文本。文本行不能用任何方法缩短或改变。(控件的父窗口或对话框不能处理WM_CTLCOLOR消息)·SS_USERITEM指定一个用户自定义的项。
·SS_WHITEFRAME指定一个带边框的方框,用窗口背景色画出。缺省值为白色。·SS_WHITERECT指定一个矩形,用窗口背景色填充。缺省值为白色。窗口风格
·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_OVERLAPPEDWINDOWWS_OVERLAPPEDWS_CAPTIONWS_SYSMENUWS_THICKFRAMEWS_MINIMIZEBOXWS_MAXIMIZEBOX风格的重叠式窗口。·WS_POPUP创建一个弹出式窗口,不能与WS_CHILD风格一起使用。
·WS_POPUPWINDOW创建一个具有WS_BORDERWS_POPUPWS_SYSMENU风格的弹出窗口。为了使控制菜单可见,必须与WS_POPUPWINDOW一起使用WS_CAPTION风格。
·WS_SYSMENU创建一个在标题条上具有控制菜单的窗口。仅对带标题条的窗口使用。
·WS_TABSTOP指定了一些控件中的一个,用户可以通过TAB键来移过它。TAB键使用户移动到下一个用



WS_TABSTOP风格定义的控件。
·WS_THICKFRAME创建一个具有厚边框的窗口,可以通过厚边框来改变窗口大小。·WS_VISIBLE创建一个最初可见的窗口。
·WS_VSCROLL创建一个具有垂直滚动条的窗口。扩展窗口风格
·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_NOPARENTNOTIFYWM_PARENTNOTIFY消息。
·WS_EX_OVERLAPPEDWINDOW组合了WS_EX_CLIENTEDGEWS_EX_WIND-OWEDGE风格。·WS_EX_PALETTEWINDOW组合了WS_EX_WINDOWEDGEWS_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指定了具有凸起边框的窗口。


MFC使用的风格

相关推荐