【MFC】Windows窗口样式
00. 目录
文章目录
- 00. 目录
- 01. 框架窗口样式
- 02. 静态样式
- 03. 窗口样式
- 04. 扩展的窗口样式
- 05. 附录
01. 框架窗口样式
框架窗口样式适用于 CFrameWnd 类 对象。 在 CFrameWnd::Create的 dwStyle 参数中指定样式组合。
Style | 说明 |
---|---|
FWS_ADDTOTITLE |
指定要追加到框架窗口标题末尾的信息。 例如,“Microsoft Draw 绘图 in Document1”。 您可以指定在应用程序向导的文档模板字符串选项卡中显示的字符串。 如果需要关闭此选项,请重写 CWnd::PreCreateWindow 成员函数。
|
FWS_PREFIXTITLE |
在框架窗口标题中显示应用程序名称之前的文档名称。 例如,“文档-写字板”。 您可以指定在应用程序向导的文档模板字符串选项卡中显示的字符串。 如果需要关闭此选项,请重写 CWnd::PreCreateWindow 成员函数。
|
FWS_SNAPTOBARS | 控件在处于浮动窗口时(而不是停靠到框架窗口)时包围控件栏的框架窗口的大小。 此样式调整窗口的大小以适合控件条。 |
02. 静态样式
静态样式应用于 CStatic 类 对象。 在 CStatic::Create的 dwStyle 参数中指定样式组合。 有关 Windows 中的静态控件样式的详细信息,请参阅 (Windows) 的静态控件样式 。
Style | 说明 |
---|---|
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 将解释控件文本中的任何 “与” 符号 ( # A0) 字符作为快捷键前缀字符。 在这种情况下,将删除与号,并为字符串中的下一个字符加下划线。 如果静态控件要包含此功能不需要的文本,可以添加 SS_NOPREFIX。 此静态控件样式可以包含在任何定义的静态控件中。 可以使用按位 “或” 运算符将 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 | 截断不适合的文本并添加省略号。 |
03. 窗口样式
窗口样式适用于 CWnd 类 对象。 在 CWnd::Create或 Cwnd::CreateEx的 dwStyle 参数中指定样式组合。 有关 Windows 中窗口样式的详细信息,请参阅 windows) (窗口样式 。
Style | 说明 |
---|---|
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 的控件均为 FALSE。 具有 WS_GROUP 样式的下一个控件将启动下一个组 (即,一个组在下一步开始) 的位置结束。 |
WS_HSCROLL | 创建一个具有水平滚动条的窗口。 |
WS_ICONIC | 创建最初最小化的窗口。 与 WS_MINIMIZE 样式相同。 |
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_CAPTION 样式必须与 WS_POPUPWINDOW 样式组合以使控件菜单可见。 |
WS_SIZEBOX | 创建一个具有调整边框的窗口。 与 WS_THICKFRAME 样式相同。 |
WS_SYSMENU | 创建一个窗口,该窗口在其标题栏中具有一个控件菜单框。 仅用于带有标题栏的 windows。 |
WS_TABSTOP | 指定任意数量的控件,用户可以使用 TAB 键移动这些控件。 TAB 键将用户移动到 WS_TABSTOP 样式指定的下一个控件。 |
WS_THICKFRAME | 创建一个窗口,该窗口具有可用于调整窗口大小的粗框架。 |
WS_TILED | 创建重叠的窗口。 重叠窗口具有标题栏和边框。 与 WS_OVERLAPPED 样式相同。 |
WS_TILEDWINDOW | 创建具有 WS_OVERLAPPED、WS_CAPTION、WS_SYSMENU、WS_THICKFRAME、WS_MINIMIZEBOX 和 WS_MAXIMIZEBOX 样式的重叠窗口。 与 WS_OVERLAPPEDWINDOW 样式相同。 |
WS_VISIBLE | 创建初始可见的窗口。 |
WS_VSCROLL | 创建一个具有垂直滚动条的窗口。 |
04. 扩展的窗口样式
扩展的窗口样式适用于 CWnd 类 对象。 指定 CWnd:: CreateEx的 dwExStyle 参数中样式的组合。 有关 Windows 中的扩展窗口样式的详细信息,请参阅 windows) (扩展窗口样式 。
Style | 说明 |
---|---|
WS_EX_ACCEPTFILES | 指定使用此样式创建的窗口接受拖放文件。 |
WS_EX_APPWINDOW | 当窗口可见时,强制将顶级窗口拖到任务栏上。 |
WS_EX_CLIENTEDGE | 指定窗口具有三维外观,即具有凹陷边缘的边框。 |
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 |
指定使用此样式创建的窗口应放置在所有 nontopmost 窗口之上,并且即使在窗口被停用时也保持在其上方。 应用程序可使用 SetWindowPos 成员函数添加或删除此特性。
|
WS_EX_TRANSPARENT | 指定使用此样式创建的窗口是透明的。 也就是说,该窗口下的任何窗口都不能被窗口遮盖。 使用此样式创建的窗口仅在其下的所有同级窗口均已更新后接收 WM_PAINT 消息。 |
WS_EX_WINDOWEDGE | 指定窗口具有具有凸起边缘的边框。 |
05. 附录
5.1 MFC官方参考
网址:https://docs.microsoft.com/zh-cn/cpp/mfc/reference/mfc-classes?view=msvc-160
【MFC】Windows窗口样式相关推荐
- Windows窗口样式
windows样式有很多种,不同的windows,windows控件接受不同的样式.如Combo box接受下以样式: WS_CHILD Always WS_VISIBLE Usually W ...
- windows窗口中控件的样式
一.按钮样式 button BS_AUTO3STATE创建一个与三态复选框相同的按钮,但该框在用户选择时更改其状态.状态循环通过检查,不确定和清除.BS_AUTOCHECKBOX创建一个与复选框相同的 ...
- c++mfc编写实验_零基础学Windows窗口图形界面编程(不用MFC),菜鸟学完变身高手,敢与专业媲美...
又一门新的计算机课上线啦! 什么课?看下面视频(以下视频是本课第一讲) 用什么语言 我们声明一下(这个在我们课上也跟同学强调):不要为用什么语言掐架!那是初学者的行为,为高手所不为. 第二,我们这门课 ...
- MFC Windows 程序设计[六十]之窗口分屏(附源码)
MFC Windows 程序设计[六十]之窗口分屏 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries),以C+ ...
- MFC Windows 程序设计[二十八]之字体样式(附源码)
MFC Windows 程序设计[二十八]之字体样式 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries),以C ...
- WINDOWS API ——SETWINDOWLONG—— 设置窗口样式 SetWindowLong 函数原型为:LONG SetWindowLong(HWND hwnd,int nIndex,Lon
WINDOWS API --SETWINDOWLONG-- 设置窗口样式 SetWindowLong 函数原型为:LONG SetWindowLong(HWND hwnd,int nIndex,Lon ...
- windows常见窗口样式和控件风格以及类样式
Windows常见窗口样式和控件风格 王佰营 徐丽红 一.窗口样式 WS_POPUP 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用) WS_CHILDWINDOW 子窗口(不能与WS_P ...
- Windows常见窗口样式和控件风格
Windows常见窗口样式和控件风格 王佰营 徐丽红 一.窗口样式 WS_POPUP 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用) WS_CHILDWINDOW 子窗口(不能与WS_P ...
- Windows窗口消息大全,全不全自己看
1 Windows窗口消息大全,全不全自己看 2 3 // 4 #include "AFXPRIV.H"//消息值的定义来源 5 #include "Dde.h" ...
最新文章
- 前端碎碎念 之 nextTick, setTimeout 以及 setImmediate 三者的执行顺序
- WinSock学习笔记3:Select模型
- 学习C#中调用COM,后期绑定(以及对WinHttp COM对象的C#封装)
- onnx模型部署(一) ONNXRuntime
- 网站重启服务器有啥好处,常规服务器重启的好处和障碍
- 计算机应用基础在线测试01,计算机应用基础在线测试(全部正确).pdf
- WPF实例秀——如何获取UI元素的图像
- Linux中的工作队列
- 集合各实现类的底层实现原理
- 【李宏毅2020 ML/DL】P13 Backpropagation | 神经网络反向传播到底是怎么计算的
- Runtime.exec使用错误导致延迟.md
- 【python项目开发】爬虫基础知识
- 2021年进销存管理软件商户门店使用热度前十名排行榜
- P2P网络与BitTorrent技术简介
- 如何用自签名证书为.sis文件签名
- Mac 直接在word 中使用latex编辑公式
- 项目 - Web地图开发【高德地图API】(一)
- oracle em 监听,监听程序ORACLE_HOME是啥??我EM重置,这个不知道要填什么
- android 状态栏wifi,【技术贴】教你修改状态栏里的wifi、信号、电量图标(转自论坛)...
- win10 python3.5.2下安装facenet
热门文章
- Synergy 一套键鼠同时控制多台电脑的神器
- [linux]cp和mv对文件和链接影响的区别
- 第10章 例题 7-3 递归实现逆序输出整数
- 计算机如何搜索相关文字,搜索引擎:“请输入你要搜索的内容”|你是如何使用搜索引擎的呢?...
- php简述一下并集交集差集,总结了一下js中的差集、交集、并集
- php显示无法找到该网页,window_Win8系统IE浏览器提示无法找到该网页的解决方法, 我们在浏览网页的时候, - phpStudy...
- Java黑皮书课后题第3章:*3.20(科学:风寒温度)编写一个程序,提示用户输入一个温度值和一个风速值。如果输入值合法,那么显示风寒温度,否则显示温度或风速是不合法数据
- 小白重装系统教程_重装系统教程,小编教你怎么重装win10系统
- 【git】强制覆盖本地代码(与git远程仓库保持一致)
- Confluence 实现公司wiki【转】