SimpleWindow
载入中...
搜索中...
未找到
sw 命名空间参考

SimpleWindow框架的顶级命名空间,所有公共类型、控件、枚举和工具函数均定义于此。 更多...

struct  _BracketOperationHelper
 判断类型是否可以使用[]操作符的辅助模板 更多...
 
struct  _BracketOperationHelper< T, U, decltype(void(std::declval< T >()[std::declval< U >()]))>
 _BracketOperationHelper模板特化 更多...
 
struct  _DelegateCanAddSubtract
 判断委托是否可以添加或删除指定类型的函数对象 更多...
 
struct  _DelegateCanAddSubtract< TDelegate, TFunc, decltype(void(std::declval< TDelegate >()+=std::declval< TFunc >()), void(std::declval< TDelegate >() -=std::declval< TFunc >()))>
 _DelegateCanAddSubtract偏特化版本,检查是否可以使用+=和-=操作符添加或删除函数对象 更多...
 
struct  _EnumSupportBitOperations
 用于标记枚举是否支持位运算 更多...
 
struct  _FuncTraits
 _FuncTraits模板,用于提取函数类型的返回值和参数类型 更多...
 
struct  _FuncTraits< First, Rest... >
 _FuncTraits特化 更多...
 
struct  _FuncTraits< Last >
 _FuncTraits特化 更多...
 
struct  _FuncTypeHelper
 _FuncTypeHelper模板,用于根据参数元组生成对应的Func类型 更多...
 
struct  _FuncTypeHelper< std::tuple< Args... > >
 _FuncTypeHelper特化 更多...
 
struct  _HasArrowOperator
 判断类型是否有operator->的辅助模板 更多...
 
struct  _HasArrowOperator< T, decltype(void(std::declval< T >().operator->()))>
 _HasArrowOperator模板特化 更多...
 
struct  _HasEventType
 结构体模板,用于检测类型T是否含有名为EventType的静态字段 更多...
 
struct  _HasEventType< T, decltype(void(T::EventType))>
 模板特化:当T包含EventType时,将_IsTypedRoutedEventArgs<T>设为std::true_type 更多...
 
struct  _HasGetterImpl
 判断类型是否有GetterImpl成员的辅助模板 更多...
 
struct  _HasGetterImpl< T, decltype(void(&T::GetterImpl))>
 _HasGetterImpl模板特化 更多...
 
struct  _HasSetterImpl
 判断类型是否有SetterImpl成员的辅助模板 更多...
 
struct  _HasSetterImpl< T, decltype(void(&T::SetterImpl))>
 _HasSetterImpl模板特化 更多...
 
struct  _HasToString
 判断一个类型是否有ToString方法 更多...
 
struct  _HasToString< T, decltype(void(std::declval< T >().ToString()))>
 _HasToString偏特化版本 更多...
 
struct  _IsDynamicCastable
 判断类型是否可以使用dynamic_cast进行转换的辅助模板 更多...
 
struct  _IsDynamicCastable< TFrom, TTo, decltype(void(dynamic_cast< TTo >(std::declval< TFrom >())))>
 _IsDynamicCastable模板特化 更多...
 
struct  _IsExplicitlyConvertable
 判断类型是否可以显式转换的辅助模板 更多...
 
struct  _IsExplicitlyConvertable< TFrom, TTo, decltype(void(static_cast< TTo >(std::declval< TFrom >())))>
 _IsExplicitlyConvertable模板特化 更多...
 
struct  _IsProperty
 判断类型是否为属性的辅助模板 更多...
 
struct  _IsPropertyImpl
 _IsProperty的实现 更多...
 
struct  _IsReadableProperty
 判断类型是否为可读属性的辅助模板 更多...
 
struct  _IsTypedRoutedEventArgs
 结构体模板,用于检测类型T是否包含事件类型信息 更多...
 
struct  _IsWritableProperty
 判断类型是否为可写属性的辅助模板 更多...
 
class  Animation
 动画控件,仅支持无音频的avi动画 更多...
 
class  AnsiStringToDoubleConverter
 窄字符串与双精度浮点数转换器 更多...
 
class  AnsiStringToFloatConverter
 窄字符串与浮点数转换器 更多...
 
class  AnsiStringToIntConverter
 窄字符串与整数转换器 更多...
 
class  AnsiStringToStringConverter
 窄字符串与宽字符串转换器 更多...
 
class  App
 App类 更多...
 
struct  AutoSizeGridColumn
 自动宽度的列 更多...
 
struct  AutoSizeGridRow
 自动高度的行 更多...
 
class  BallonToolTip
 气泡样式的信息提示 更多...
 
class  Binding
 数据绑定类 更多...
 
class  BindingBase
 数据绑定基类 更多...
 
class  BmpBox
 用于显示一个位图的控件 更多...
 
class  BoolNegationConverter
 布尔值取反转换器 更多...
 
class  BoolToNumericConverter
 布尔值与数值转换器模板声明 更多...
 
class  BoolToNumericConverter< TTarget, typename std::enable_if< std::is_arithmetic< TTarget >::value >::type >
 布尔值与数值转换器,true转换为1,false转换为0 更多...
 
class  BoxedObject
 装箱对象模板类声明 更多...
 
class  BoxedObject< T, typename std::enable_if<!std::is_base_of< DynamicObject, T >::value >::type >
 装箱对象,用于将任意类型封装为DynamicObject对象 更多...
 
class  Button
 按钮 更多...
 
class  ButtonBase
 窗口类名为BUTTON的控件类型的基类 更多...
 
class  CallableList
 用于存储和管理多个可调用对象的列表,针对单个可调用对象的情况进行优化 更多...
 
struct  CancelableEventArgs
 可取消事件参数类型,包含一个cancel字段用于指示是否取消事件 更多...
 
class  Canvas
 一种可以为子元素设置绝对位置的面板,与普通Panel不同的是Canvas支持自动滚动条 更多...
 
class  CanvasLayout
 绝对位置布局方式 更多...
 
struct  CanvasLayoutTag
 绝对位置布局方式的布局标记 更多...
 
class  CheckableButton
 表示可选中的按钮类型(单选框、复选框等) 更多...
 
class  CheckBox
 复选框 更多...
 
struct  Color
 颜色 更多...
 
class  ColorDialog
 颜色选择对话框 更多...
 
class  ComboBox
 组合框 更多...
 
class  CommandLink
 命令链接按钮 更多...
 
class  ContextMenu
 上下文菜单 更多...
 
class  Control
 控件 更多...
 
class  CursorHelper
 用于获取鼠标句柄的工具类 更多...
 
class  DataBinding
 数据绑定,用于UI元素与DataContext之间的属性绑定 更多...
 
struct  DataContextChangedEventArgs
 数据上下文更改事件参数 更多...
 
class  DateTimePicker
 日期和时间选取器 更多...
 
struct  DateTimePickerTimeChangedEventArgs
 DateTimePicker控件时间改变事件参数类型 更多...
 
class  Delegate
 
class  Delegate< TRet(Args...)>
 委托类,类似于C::中的委托,支持存储和调用任意可调用对象 更多...
 
class  Dictionary
 字典类,内部维护了一个指向std::map的智能指针 更多...
 
class  Dip
 用于处理设备独立像素(dip)与屏幕像素之间的转换 更多...
 
class  DockLayout
 停靠布局 更多...
 
class  DockLayoutTag
 停靠布局标记 更多...
 
class  DockPanel
 停靠面板 更多...
 
class  DockSplitter
 用于在DockLayout布局中调整停靠元素大小的分隔条 更多...
 
class  DoubleToAnsiStringConverter
 双精度浮点数与窄字符串转换器 更多...
 
class  DoubleToStringConverter
 双精度浮点数与字符串转换器 更多...
 
struct  DropFilesEventArgs
 文件拖放事件参数类型 更多...
 
class  DynamicObject
 动态对象基类 更多...
 
class  EnumToNumericConverter
 枚举类型与数值类型转换器模板声明 更多...
 
class  EnumToNumericConverter< TSource, TTarget, typename std::enable_if< std::is_enum< TSource >::value &&std::is_arithmetic< TTarget >::value >::type >
 枚举类型与数值类型转换器 更多...
 
class  Event
 
class  Event< Delegate< TRet(Args...)> >
 事件类 更多...
 
struct  EventArgs
 事件参数结构体 更多...
 
struct  FieldId
 表示字段的唯一标识符 更多...
 
struct  FieldsAccessor
 字段访问器,用于实现使用operator->取属性字段 更多...
 
class  FileDialog
 “打开文件”对话框与“另存为”对话框的基类 更多...
 
class  FileFilter
 文件筛选器 更多...
 
struct  FileFilterItem
 文件筛选器信息 更多...
 
class  FillLayout
 一种将全部元素都铺满的布局,一般用于在只有一个子元素的时候将该元素铺满整个可用区域 更多...
 
struct  FillRemainGridColumn
 填充剩余宽度的列 更多...
 
struct  FillRemainGridRow
 填充剩余高度的行 更多...
 
struct  FixSizeGridColumn
 固定宽度的列 更多...
 
struct  FixSizeGridRow
 固定高度的行 更多...
 
class  FloatToAnsiStringConverter
 浮点数与窄字符串转换器 更多...
 
class  FloatToStringConverter
 浮点数与字符串转换器 更多...
 
class  FolderBrowserDialog
 选择文件夹对话框 更多...
 
class  Font
 字体类 更多...
 
class  FontDialog
 字体选择对话框 更多...
 
class  FrameworkElement
 框架元素类,提供数据上下文和绑定功能 更多...
 
struct  GotCharEventArgs
 输入字符事件类型参数 更多...
 
class  Grid
 由列和行组成的灵活的网格区域 更多...
 
struct  GridColumn
 网格中的列信息 更多...
 
class  GridLayout
 网格布局方式 更多...
 
struct  GridLayoutTag
 网格布局方式的布局标记 更多...
 
struct  GridRow
 网格中的行信息 更多...
 
class  GroupBox
 组合框 更多...
 
struct  HotKey
 表示一个热键 更多...
 
class  HotKeyControl
 热键框 更多...
 
struct  HotKeyValueChangedEventArgs
 热键框值改变事件参数类型 更多...
 
class  HwndHost
 将Win32 window托管为SimpleWindow控件 更多...
 
class  HwndWrapper
 将Win32 window包装为SimpleWindow对象 更多...
 
struct  ICallable
 
struct  ICallable< TRet(Args...)>
 ICallable接口,用于表示可调用对象的接口 更多...
 
class  IComparable
 全序比较接口 更多...
 
class  IconBox
 用于显示一个图标的控件 更多...
 
class  IconHelper
 用于获取图标句柄的工具类 更多...
 
class  IDialog
 对话框接口 更多...
 
class  IEqualityComparable
 相等性比较接口 更多...
 
class  ILayout
 布局接口 更多...
 
class  ImageList
 图像列表 更多...
 
class  INotifyObjectDead
 对象销毁通知接口 更多...
 
class  INotifyPropertyChanged
 属性变更通知接口 更多...
 
class  IntToAnsiStringConverter
 整数与窄字符串转换器 更多...
 
class  IntToStringConverter
 整数与字符串转换器 更多...
 
class  IPAddressControl
 IP地址框 更多...
 
class  ITag
 Tag接口 更多...
 
class  ItemsControl
 表示可用于呈现一组项的控件 更多...
 
class  IToString
 为支持ToString方法的类提供统一接口 更多...
 
class  IValueConverter
 值转换器接口 更多...
 
struct  KeyDownEventArgs
 键盘按键按下事件参数类型 更多...
 
struct  KeyEventArgs
 键盘事件参数类型模板 更多...
 
struct  KeyFlags
 https://learn.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input#keystroke-message-flags 更多...
 
struct  KeyUpEventArgs
 键盘按键抬起事件参数类型 更多...
 
class  Label
 标签 更多...
 
class  Layer
 
class  Layer< TBase, typename std::enable_if< std::is_base_of< UIElement, TBase >::value >::type >
 表示可以设置布局方式的元素类型,如窗口、面板等 更多...
 
class  LayoutHost
 用于托管元素的布局方式的对象类型,是所有布局方式类型的基类 更多...
 
class  List
 列表类,内部维护了一个指向std::vector的智能指针 更多...
 
class  ListBox
 列表框 更多...
 
class  ListView
 列表视图 更多...
 
struct  ListViewCheckStateChangedEventArgs
 列表视图某个复选框选中状态改变的事件参数类型 更多...
 
struct  ListViewColumn
 列表视图的列信息 更多...
 
struct  ListViewEndEditEventArgs
 列表视图编辑状态结束事件参数类型 更多...
 
struct  ListViewHeaderClickedEventArgs
 列表视图的列标题单击事件参数类型 更多...
 
struct  ListViewHeaderDoubleClickedEventArgs
 列表视图的列标题双击事件参数类型 更多...
 
struct  ListViewItemClickedEventArgs
 列表视图项单击事件参数类型 更多...
 
struct  ListViewItemDoubleClickedEventArgs
 列表视图项双击事件参数类型 更多...
 
struct  ListViewItemEventArgs
 列表视图某个项事件参数类型模板,适用于单击、双击等事件 更多...
 
struct  ListViewSubItemEventArgs
 列表视图某个子项事件参数类型模板,适用于单击、双击等事件 更多...
 
class  MemberEventInitializer
 成员事件初始化器 更多...
 
class  MemberPropertyInitializer
 成员属性初始化器 更多...
 
class  Menu
 菜单 更多...
 
class  MenuBase
 菜单类型的基类 更多...
 
class  MenuItem
 菜单项 更多...
 
class  MonthCalendar
 月历控件 更多...
 
struct  MonthCalendarTimeChangedEventArgs
 月历控件时间改变事件参数类型 更多...
 
struct  MouseButtonDownEventArgs
 鼠标按键按下事件参数类型 更多...
 
struct  MouseButtonEventArgs
 鼠标按键事件参数类型模板 更多...
 
struct  MouseButtonUpEventArgs
 鼠标按键抬起事件参数类型 更多...
 
struct  MouseEventArgs
 鼠标事件参数类型模板 更多...
 
struct  MouseMoveEventArgs
 鼠标移动事件参数类型 更多...
 
struct  MouseWheelEventArgs
 鼠标滚轮滚动事件参数类型 更多...
 
class  MsgBox
 消息框类 更多...
 
class  MsgBoxResultHelper
 处理消息框消息的辅助类 更多...
 
class  NotifyIcon
 系统托盘通知图标 更多...
 
struct  NotifyIconMouseEventArgs
 通知图标鼠标事件参数 更多...
 
class  NumericConverter
 数值类型转换器模板声明 更多...
 
class  NumericConverter< TSource, TTarget, typename std::enable_if< std::is_arithmetic< TSource >::value &&std::is_arithmetic< TTarget >::value >::type >
 数值类型转换器,将源数值类型转换为目标数值类型 更多...
 
class  NumericNegationConverter
 数值取反转换器模板声明 更多...
 
class  NumericNegationConverter< T, typename std::enable_if< std::is_arithmetic< T >::value >::type >
 数值取反转换器 更多...
 
class  NumericToBoolConverter
 数值与布尔值转换器模板声明 更多...
 
class  NumericToBoolConverter< TSource, typename std::enable_if< std::is_arithmetic< TSource >::value >::type >
 数值与布尔值转换器,非零数值转换为true,零数值转换为false 更多...
 
class  NumericToEnumConverter
 数值类型与枚举类型转换器模板声明 更多...
 
class  NumericToEnumConverter< TSource, TTarget, typename std::enable_if< std::is_arithmetic< TSource >::value &&std::is_enum< TTarget >::value >::type >
 数值类型与枚举类型转换器 更多...
 
class  ObservableObject
 可观察对象基类,实现属性更改通知功能 更多...
 
class  OpenFileDialog
 “打开文件”对话框 更多...
 
class  Panel
 面板 更多...
 
class  PasswordBox
 密码框 更多...
 
class  Path
 用于处理文件路径的工具类 更多...
 
struct  Point
 表示相对于左上角的点坐标 更多...
 
struct  PositionChangedEventArgs
 位置改变事件参数类型 更多...
 
struct  ProcMsg
 对Windows窗口消息的封装 更多...
 
class  ProgressBar
 进度条控件 更多...
 
class  Property
 属性 更多...
 
class  PropertyBase
 属性基类模板 更多...
 
struct  PropertyChangedEventArgs
 属性更改事件参数 更多...
 
class  RadioButton
 单选框 更多...
 
class  ReadOnlyProperty
 只读属性 更多...
 
struct  Rect
 表示一个矩形区域 更多...
 
class  Reflection
 提供反射相关功能 更多...
 
class  ReverseConverter
 反向转换器模板声明 更多...
 
class  ReverseConverter< TBaseConverter, typename std::enable_if< std::is_base_of< IValueConverter< typename std::decay< typename TBaseConverter::TSourceParam >::type, typename std::decay< typename TBaseConverter::TTargetParam >::type >, TBaseConverter >::value >::type >
 反向转换器,将已有转换器的转换方向反转 更多...
 
struct  RoutedEventArgs
 路由事件的参数 更多...
 
class  RoutedEventHandlerWrapper
 路由事件处理函数包装类,用于需要转换RoutedEventArgs为特定事件参数类型的情况 更多...
 
class  SaveFileDialog
 “另存为”对话框 更多...
 
class  Screen
 屏幕相关 更多...
 
struct  ScrollingEventArgs
 窗口/面板滚动条滚动事件参数类型 更多...
 
struct  ShowContextMenuEventArgs
 显示用户自定义上下文菜单的事件参数类型 更多...
 
struct  Size
 尺寸 更多...
 
struct  SizeChangedEventArgs
 尺寸改变事件参数类型 更多...
 
class  Slider
 滑块控件 更多...
 
class  SpinBox
 数值调节框 更多...
 
class  SplitButton
 分割按钮 更多...
 
struct  SplitButtonDropDownEventArgs
 分割按钮的下拉箭头单击事件参数类型 更多...
 
class  Splitter
 分隔条 更多...
 
class  StackLayout
 堆叠布局 更多...
 
class  StackLayoutH
 横向堆叠布局 更多...
 
class  StackLayoutV
 纵向堆叠布局 更多...
 
class  StackPanel
 堆叠面板 更多...
 
class  StaticControl
 静态控件 更多...
 
class  StaticEventInitializer
 静态事件初始化器 更多...
 
class  StaticPropertyInitializer
 静态属性初始化器 更多...
 
class  StatusBar
 状态栏 更多...
 
class  StringToAnsiStringConverter
 宽字符串与窄字符串转换器 更多...
 
class  StringToDoubleConverter
 字符串与双精度浮点数转换器 更多...
 
class  StringToFloatConverter
 字符串与浮点数转换器 更多...
 
class  StringToIntConverter
 字符串与整数转换器 更多...
 
class  StringToUtf8StringConverter
 宽字符串与UTF-8编码窄字符串转换器 更多...
 
class  SysLink
 包含链接的文本区域 更多...
 
struct  SysLinkClickedEventArgs
 SysLink控件链接被单击事件参数类型 更多...
 
class  TabControl
 标签页控件 更多...
 
class  TextBox
 编辑框 更多...
 
class  TextBoxBase
 窗口类名为EDIT的控件类型的基类 更多...
 
struct  Thickness
 表示矩形区域周围边框的厚度 更多...
 
struct  TimeChangedEventArgs
 时间改变事件参数类型模板,适用于DateTimePicker和MonthCalendar控件 更多...
 
class  Timer
 计时器 更多...
 
class  ToolTip
 信息提示,用于用户将指针移过关联控件时显示信息 更多...
 
class  TreeView
 树视图控件 更多...
 
struct  TreeViewCheckStateChangedEventArgs
 树视图节点复选框状态改变事件参数类型 更多...
 
struct  TreeViewItemExpandedEventArgs
 树视图节点已展开或折叠事件参数类型 更多...
 
struct  TreeViewItemExpandingEventArgs
 树视图节点正在展开或折叠事件参数类型 更多...
 
class  TreeViewNode
 树视图项 更多...
 
struct  TypedRoutedEventArgs
 表示特定类型路由事件的事件参数类型,继承自该类的类型可以直接作为AddHandler函数的模板参数 更多...
 
class  UIElement
 表示界面中的元素 更多...
 
class  UniformGrid
 提供一种在网格(网格中的所有单元格都具有相同的大小)中排列内容的方法 更多...
 
class  UniformGridLayout
 均匀大小网格布局 更多...
 
class  Utf8StringToStringConverter
 UTF-8编码窄字符串与宽字符串转换器 更多...
 
class  Utils
 工具类 更多...
 
class  Variant
 通用变体类,用于存储任意类型的对象 更多...
 
class  Window
 窗口 更多...
 
struct  WindowClosingEventArgs
 窗口正在关闭事件参数类型 更多...
 
class  WndBase
 表示一个Windows窗口,是所有窗口和控件的基类 更多...
 
class  WrapLayout
 自动换行布局 更多...
 
class  WrapLayoutH
 横向自动换行布局 更多...
 
class  WrapLayoutV
 纵向自动换行布局 更多...
 
class  WrapPanel
 自动换行面板 更多...
 
class  WriteOnlyProperty
 只写属性 更多...
 

类型定义

using IntToFloatConverter = NumericConverter< int, float >
 
using IntToDoubleConverter = NumericConverter< int, double >
 
using FloatToIntConverter = NumericConverter< float, int >
 
using DoubleToIntConverter = NumericConverter< double, int >
 
using BoolToIntConverter = BoolToNumericConverter< int >
 
using IntToBoolConverter = NumericToBoolConverter< int >
 
template<typename TEnum >
using EnumToIntConverter = EnumToNumericConverter< TEnum, int >
 
template<typename TEnum >
using IntToEnumConverter = NumericToEnumConverter< int, TEnum >
 
template<typename... Args>
using Action = Delegate< void(Args...)>
 Action类型别名,表示无返回值的委托
 
template<typename T >
using Predicate = Delegate< bool(T)>
 Predicate类型别名,表示返回bool的单参数委托
 
template<typename... Types>
using Func = typename _FuncTypeHelper< typename _FuncTraits< Types... >::TArgsTuple >::template TFunc< typename _FuncTraits< Types... >::TRet >
 Func类型别名,类似C::中的Func<T1, T2, ..., TResult>
 
template<typename TVal >
using StrDictionary = Dictionary< std::wstring, TVal >
 以字符串为键值的字典
 
template<typename TSender , typename TEventArgs = EventArgs>
using EventHandler = Delegate< void(TSender &, TEventArgs &)>
 事件处理函数类型别名
 
using DataContextChangedEventHandler = EventHandler< FrameworkElement, DataContextChangedEventArgs >
 数据上下文更改事件处理函数类型
 
using ObjectDeadEventHandler = EventHandler< INotifyObjectDead >
 对象销毁事件处理程序类型
 
using PropertyChangedEventHandler = EventHandler< INotifyPropertyChanged, PropertyChangedEventArgs >
 属性更改事件处理函数类型
 
template<typename T >
using _OptimalParamType = typename std::conditional< std::is_scalar< typename std::decay< T >::type >::value, typename std::decay< T >::type, const typename std::decay< T >::type & >::type
 最佳参数类型,标量类型使用值传递,复杂类型使用常量引用传递
 
template<typename TFrom , typename TTo >
using _IsStaticCastable = _IsExplicitlyConvertable< TFrom, TTo >
 用于判断是否可以通过static_cast进行转换
 
typedef ItemsControl< std::wstring > StrItemsControl
 表示可用于呈现一组字符串的控件
 
using StrList = List< std::wstring >
 字符串列表
 
using MenuItemCommand = Action< MenuItem & >
 菜单项关联的回调函数类型
 
using NotifyIconMouseEventHandler = EventHandler< NotifyIcon, NotifyIconMouseEventArgs >
 通知图标鼠标事件处理函数类型
 
template<typename T >
using _PropertySetterParamType = _OptimalParamType< T >
 属性setter参数类型
 
using RoutedEventHandler = EventHandler< UIElement, RoutedEventArgs >
 路由事件类型
 
using TimerTickHandler = EventHandler< Timer >
 计时器触发事件类型
 

枚举

enum class  HorizontalAlignment { Center , Stretch , Left , Right }
 水平对齐方式 更多...
 
enum class  VerticalAlignment { Center , Stretch , Top , Bottom }
 垂直对齐方式 更多...
 
enum class  Orientation { Horizontal , Vertical }
 排列方式 更多...
 
enum class  AppQuitMode { Auto , Manual }
 线程退出消息循环的方式 更多...
 
enum class  BindingMode { OneTime , OneWay , OneWayToSource , TwoWay }
 绑定模式枚举 更多...
 
enum class  BmpBoxSizeMode {
  Normal , StretchImage , AutoSize , CenterImage ,
  Zoom
}
 指定位图在BmpBox中的定位方式 更多...
 
enum class  CheckState { Unchecked = BST_UNCHECKED , Checked = BST_CHECKED , Indeterminate = BST_INDETERMINATE }
 选中状态枚举类型 更多...
 
enum class  ColorDialogFlags : DWORD {
  AnyColor = 0x00000100 , EnableHook = 0x00000010 , EnableTemplate = 0x00000020 , EnableTemplateHandle = 0x00000040 ,
  FullOpen = 0x00000002 , PreventFullOpen = 0x00000004 , RgbInit = 0x00000001 , ShowHelp = 0x00000008 ,
  SolidColor = 0x00000080
}
 https://learn.microsoft.com/en-us/windows/win32/api/commdlg/ns-commdlg-choosecolora-r1 更多...
 
enum class  StandardCursor {
  Arrow = 32512 , IBeam = 32513 , Wait = 32514 , Cross = 32515 ,
  UpArrow = 32516 , Handwriting = 32631 , SizeNWSE = 32642 , SizeNESW = 32643 ,
  SizeWE = 32644 , SizeNS = 32645 , SizeAll = 32646 , No = 32648 ,
  Hand = 32649 , AppStarting = 32650 , Help = 32651 , Pin = 32671 ,
  Person = 32672
}
 系统标准鼠标样式 更多...
 
enum class  DateTimePickerFormat { Short , Long , Custom }
 指定DateTimePicker控件显示的日期和时间格式 更多...
 
enum class  FileDialogFlags : DWORD {
  AllowMultiSelect = 0x00000200 , CreatePrompt = 0x00002000 , DontAddTorecent = 0x02000000 , EnableHook = 0x00000020 ,
  EnableIncludeNotify = 0x00400000 , EnableSizing = 0x00800000 , EnableTemplate = 0x00000040 , EnableTemplateHandle = 0x00000080 ,
  Explorer = 0x00080000 , ExtensionDifferent = 0x00000400 , FileMustExist = 0x00001000 , ForceShowHidden = 0x10000000 ,
  HideReadOnly = 0x00000004 , LongNames = 0x00200000 , NoChangeDir = 0x00000008 , NoDereferenceLinks = 0x00100000 ,
  NoLongNames = 0x00040000 , NoNetworkButton = 0x00020000 , NoReadOnlyReturn = 0x00008000 , NoTestFileCreate = 0x00010000 ,
  NoValidate = 0x00000100 , OverwritePrompt = 0x00000002 , PathMustExist = 0x00000800 , ReadOnly = 0x00000001 ,
  ShareAware = 0x00004000 , ShowHelp = 0x00000010
}
 https://learn.microsoft.com/en-us/windows/win32/api/commdlg/ns-commdlg-openfilenamew 更多...
 
enum class  FolderDialogFlags : UINT {
  ReturnOnlyFileSystemDirs = 0x00000001 , DontGoBelowDomain = 0x00000002 , StatusText = 0x00000004 , ReturnFileSystemAncestors = 0x00000008 ,
  EditBox = 0x00000010 , Validate = 0x00000020 , NewDialogStyle = 0x00000040 , BrowseIncludeUrls = 0x00000080 ,
  UseNewUI = 0x00000010 | 0x00000040 , UsageHint = 0x00000100 , NoNewFolderButton = 0x00000200 , NoTranslateTargets = 0x00000400 ,
  BrowseForComputer = 0x00001000 , BrowseForPrinter = 0x00002000 , BrowseIncludeFiles = 0x00004000 , Sharable = 0x00008000 ,
  BrowseFileJunctions = 0x00010000
}
 https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/ns-shlobj_core-browseinfoa 更多...
 
enum class  FontWeight : int {
  DontCare = 0 , Thin = 100 , ExtraLight = 200 , UltraLight = 200 ,
  Light = 300 , Normal = 400 , Regular = 400 , Medium = 500 ,
  SemiBold = 600 , DemiBold = 600 , Bold = 700 , ExtraBold = 800 ,
  UltraBold = 800 , Heavy = 900 , Black = 900
}
 字体的粗细 更多...
 
enum class  FontCharSet : uint8_t {
  ANSI = ANSI_CHARSET , Baltic = BALTIC_CHARSET , CheneseBig5 = CHINESEBIG5_CHARSET , Default = DEFAULT_CHARSET ,
  EastEurope = EASTEUROPE_CHARSET , GB2312 = GB2312_CHARSET , Greek = GREEK_CHARSET , Hangul = HANGUL_CHARSET ,
  Mac = MAC_CHARSET , Oem = OEM_CHARSET , Russian = RUSSIAN_CHARSET , ShiftJIS = SHIFTJIS_CHARSET ,
  Symbol = SYMBOL_CHARSET , Turkish = TURKISH_CHARSET , Vietnamese = VIETNAMESE_CHARSET , Johab = JOHAB_CHARSET ,
  Arabic = ARABIC_CHARSET , Hebrew = HEBREW_CHARSET , Thai = THAI_CHARSET
}
 字符集 更多...
 
enum class  FontOutPrecision : uint8_t {
  Character = OUT_CHARACTER_PRECIS , Default = OUT_DEFAULT_PRECIS , Device = OUT_DEVICE_PRECIS , Outline = OUT_OUTLINE_PRECIS ,
  PostScriptOnly = OUT_PS_ONLY_PRECIS , Raster = OUT_RASTER_PRECIS , String = OUT_STRING_PRECIS , Stroke = OUT_STROKE_PRECIS ,
  TrueTypeOnly = OUT_TT_ONLY_PRECIS , TrueType = OUT_TT_PRECIS
}
 输出质量 更多...
 
enum class  FontClipPrecision : uint8_t {
  CharacterPrecis = CLIP_CHARACTER_PRECIS , DefaultPrecis = CLIP_DEFAULT_PRECIS , Embedded = CLIP_EMBEDDED , LH_Angles = CLIP_LH_ANGLES ,
  Mask = CLIP_MASK , StrokePrecis = CLIP_STROKE_PRECIS , TT_Always = CLIP_TT_ALWAYS
}
 剪裁精度 更多...
 
enum class  FontQuality : uint8_t {
  AntiAliased = ANTIALIASED_QUALITY , ClearType = CLEARTYPE_QUALITY , Default = DEFAULT_QUALITY , Draft = DRAFT_QUALITY ,
  NoAntiAliased = NONANTIALIASED_QUALITY , Proof = PROOF_QUALITY
}
 输出质量 更多...
 
enum class  FontPitch : uint8_t { Default = DEFAULT_PITCH , Fixed = FIXED_PITCH , Variable = VARIABLE_PITCH }
 字体的间距 更多...
 
enum class  FontFamily : uint8_t {
  Decorative = FF_DECORATIVE , DontCare = FF_DONTCARE , Modern = FF_MODERN , Roman = FF_ROMAN ,
  Script = FF_SCRIPT , Swiss = FF_SWISS
}
 字体系列 更多...
 
enum class  FontDialogFlags : DWORD {
  Apply = 0x00000200 , ANSIOnly = 0x00000400 , Both = 0x00000003 , Effects = 0x00000100 ,
  EnableHook = 0x00000008 , EnableTemplate = 0x00000010 , EnableTemplateHandle = 0x00000020 , FixedPitchOnly = 0x00004000 ,
  ForceFontExist = 0x00010000 , InavtiveFonts = 0x02000000 , InitToLogFontStruct = 0x00000040 , LimitSize = 0x00002000 ,
  NoOemFonts = 0x00000800 , NoFaceSel = 0x00080000 , NoScriptSel = 0x00800000 , NoSimulations = 0x00001000 ,
  NoSizeSel = 0x00200000 , NoStyleSel = 0x00100000 , NoVectorFonts = 0x00000800 , NoVertFonts = 0x01000000 ,
  PrinterFonts = 0x00000002 , ScalableOnly = 0x00020000 , ScreenFonts = 0x00000001 , ScriptsOnly = 0x00000400 ,
  SelectScript = 0x00400000 , ShowHelp = 0x00000004 , TrueTypeOnly = 0x00040000 , UseStyle = 0x00000080 ,
  WYSIWYG = 0x00008000
}
 https://learn.microsoft.com/en-us/windows/win32/api/commdlg/ns-commdlg-choosefonta 更多...
 
enum class  GridRCType { FixSize , AutoSize , FillRemain }
 GridRow和GridColumn的类型 更多...
 
enum class  HitTestResult {
  HitBorder = HTBORDER , HitBottom = HTBOTTOM , HitBottomLeft = HTBOTTOMLEFT , HitBottomRight = HTBOTTOMRIGHT ,
  HitCaption = HTCAPTION , HitClient = HTCLIENT , HitClose = HTCLOSE , HitError = HTERROR ,
  HitGrowBox = HTGROWBOX , HitHelp = HTHELP , HitHScroll = HTHSCROLL , HitLeft = HTLEFT ,
  HitMenu = HTMENU , HitMaxButton = HTMAXBUTTON , HitMinButton = HTMINBUTTON , HitNoWhere = HTNOWHERE ,
  HitReduce = HTREDUCE , HitRight = HTRIGHT , HitSize = HTSIZE , HitSysMenu = HTSYSMENU ,
  HitTop = HTTOP , HitTopLeft = HTTOPLEFT , HitTopRight = HTTOPRIGHT , HitTransparent = HTTRANSPARENT ,
  HitVScroll = HTVSCROLL , HitZoom = HTZOOM
}
 NcHitTest(WM_NCHITTEST)的返回值 更多...
 
enum class  HotKeyCombination {
  Alt = HKCOMB_A , Ctrl = HKCOMB_C , CtrlAlt = HKCOMB_CA , None = HKCOMB_NONE ,
  Shift = HKCOMB_S , ShiftAlt = HKCOMB_SA , ShiftCtrl = HKCOMB_SC , ShiftCtrlAlt = HKCOMB_SCA
}
 热键组合 更多...
 
enum class  StandardIcon {
  Application = 32512 , Error = 32513 , Question = 32514 , Warning = 32515 ,
  Information = 32516 , WinLogo = 32517 , Shield = 32518
}
 系统标准图标样式 更多...
 
enum class  VirtualKey {
  MouseLeft = 0x01 , MouseRight = 0x02 , Cancel = 0x03 , MouseMiddle = 0x04 ,
  MouseX1 = 0x05 , MouseX2 = 0x06 , Backspace = 0x08 , Tab = 0x09 ,
  Clear = 0x0C , Enter = 0x0D , Shift = 0x10 , Ctrl = 0x11 ,
  Alt = 0x12 , Pause = 0x13 , CapsLock = 0x14 , Kana = 0x15 ,
  Hanguel = 0x15 , Hangul = 0x15 , IME_On = 0x16 , Junja = 0x17 ,
  Final = 0x18 , Hanja = 0x19 , KANJI = 0x19 , IME_Off = 0x1A ,
  Esc = 0x1B , Convert = 0x1C , Nonconvert = 0x1D , Accept = 0x1E ,
  ModeChange = 0x1F , Space = 0x20 , PageUp = 0x21 , PageDown = 0x22 ,
  End = 0x23 , Home = 0x24 , Left = 0x25 , Up = 0x26 ,
  Right = 0x27 , Down = 0x28 , Select = 0x29 , Print = 0x2A ,
  Execute = 0x2B , Snapshot = 0x2C , Insert = 0x2D , Delete = 0x2E ,
  Help = 0x2F , Zero = 0x30 , One = 0x31 , Two = 0x32 ,
  Three = 0x33 , Four = 0x34 , Five = 0x35 , Six = 0x36 ,
  Seven = 0x37 , Eight = 0x38 , Nine = 0x39 , A = 0x41 ,
  B = 0x42 , C = 0x43 , D = 0x44 , E = 0x45 ,
  F = 0x46 , G = 0x47 , H = 0x48 , I = 0x49 ,
  J = 0x4A , K = 0x4B , L = 0x4C , M = 0x4D ,
  N = 0x4E , O = 0x4F , P = 0x50 , Q = 0x51 ,
  R = 0x52 , S = 0x53 , T = 0x54 , U = 0x55 ,
  V = 0x56 , W = 0x57 , X = 0x58 , Y = 0x59 ,
  Z = 0x5A , LeftWindows = 0x5B , RightWindows = 0x5C , Applications = 0x5D ,
  Sleep = 0x5F , NumPad0 = 0x60 , NumPad1 = 0x61 , NumPad2 = 0x62 ,
  NumPad3 = 0x63 , NumPad4 = 0x64 , NumPad5 = 0x65 , NumPad6 = 0x66 ,
  NumPad7 = 0x67 , NumPad8 = 0x68 , NumPad9 = 0x69 , Multipy = 0x6A ,
  Add = 0x6B , Separator = 0x6C , Subtract = 0x6D , Decimal = 0x6E ,
  Divide = 0x6F , F1 = 0x70 , F2 = 0x71 , F3 = 0x72 ,
  F4 = 0x73 , F5 = 0x74 , F6 = 0x75 , F7 = 0x76 ,
  F8 = 0x77 , F9 = 0x78 , F10 = 0x79 , F11 = 0x7A ,
  F12 = 0x7B , F13 = 0x7C , F14 = 0x7D , F15 = 0x7E ,
  F16 = 0x7F , F17 = 0x80 , F18 = 0x81 , F19 = 0x82 ,
  F20 = 0x83 , F21 = 0x84 , F22 = 0x85 , F23 = 0x86 ,
  F24 = 0x87 , NumLock = 0x90 , ScrollLock = 0x91 , LeftShift = 0xA0 ,
  RightShift = 0xA1 , LeftCtrl = 0xA2 , RightCtrl = 0xA3 , LeftAlt = 0xA4 ,
  RightAlt = 0xA5 , BrowserBack = 0xA6 , BrowserForward = 0xA7 , BrowserRefresh = 0xA8 ,
  BrowserStop = 0xA9 , BrowserSearch = 0xAA , BrowserFavorites = 0xAB , BrowserHome = 0xAC ,
  VolumeMute = 0xAD , VolumeDown = 0xAE , VolumeUp = 0xAF , MediaNextTrack = 0xB0 ,
  MediaPreviousTrack = 0xB1 , MediaStop = 0xB2 , MediaPlayPause = 0xB3 , LaunchMail = 0xB4 ,
  LaunchMediaSelect = 0xB5 , LaunchApplication1 = 0xB6 , LaunchApplication2 = 0xB7 , OEM_1 = 0xBA ,
  OEM_Plus = 0xBB , OEM_Comma = 0xBC , OEM_Minus = 0xBD , OEM_Period = 0xBE ,
  OEM_2 = 0xBF , OEM_3 = 0xC0 , OEM_4 = 0xDB , OEM_5 = 0xDC ,
  OEM_6 = 0xDD , OEM_7 = 0xDE , OEM_8 = 0xDF , OEM_102 = 0xE2 ,
  ProcessKey = 0xE5 , Packet = 0xE7 , Attn = 0xF6 , CrSel = 0xF7 ,
  ExSel = 0xF8 , EraseEOF = 0xF9 , Play = 0xFA , Zoom = 0xFB ,
  NONAME = 0xFC , PA1 = 0xFD , OEM_Clear = 0xFE
}
 虚拟按键 更多...
 
enum class  MouseKey {
  Ctrl = MK_CONTROL , MouseLeft = MK_LBUTTON , MouseMiddle = MK_MBUTTON , MouseRight = MK_RBUTTON ,
  Shift = MK_SHIFT , MouseX1 = MK_XBUTTON1 , MouseX2 = MK_XBUTTON2
}
 鼠标事件时用于判断按键状态 更多...
 
enum class  HotKeyModifier {
  None = 0 , Shift = 0x1 , Ctrl = 0x2 , Alt = 0x4 ,
  Ext = 0x8
}
 表示热键框控件中的辅助按键,可以是一个或多个按键 更多...
 
enum class  KnownColors {
  ActiveBorder = RGB(0xb4, 0xb4, 0xb4) , ActiveCaption = RGB(0x99, 0xb4, 0xd1) , ActiveCaptionText = RGB(0x00, 0x00, 0x00) , AppWorkspace = RGB(0xab, 0xab, 0xab) ,
  Control = RGB(0xf0, 0xf0, 0xf0) , ControlDark = RGB(0xa0, 0xa0, 0xa0) , ControlDarkDark = RGB(0x69, 0x69, 0x69) , ControlLight = RGB(0xe3, 0xe3, 0xe3) ,
  ControlLightLight = RGB(0xff, 0xff, 0xff) , ControlText = RGB(0x00, 0x00, 0x00) , Desktop = RGB(0x00, 0x00, 0x00) , GrayText = RGB(0x6d, 0x6d, 0x6d) ,
  Highlight = RGB(0x00, 0x78, 0xd7) , HighlightText = RGB(0xff, 0xff, 0xff) , HotTrack = RGB(0x00, 0x66, 0xcc) , InactiveBorder = RGB(0xf4, 0xf7, 0xfc) ,
  InactiveCaption = RGB(0xbf, 0xcd, 0xdb) , InactiveCaptionText = RGB(0x00, 0x00, 0x00) , Info = RGB(0xff, 0xff, 0xe1) , InfoText = RGB(0x00, 0x00, 0x00) ,
  Menu = RGB(0xf0, 0xf0, 0xf0) , MenuText = RGB(0x00, 0x00, 0x00) , ScrollBar = RGB(0xc8, 0xc8, 0xc8) , Window = RGB(0xff, 0xff, 0xff) ,
  WindowFrame = RGB(0x64, 0x64, 0x64) , WindowText = RGB(0x00, 0x00, 0x00) , Transparent = RGB(0xff, 0xff, 0xff) , AliceBlue = RGB(0xf0, 0xf8, 0xff) ,
  AntiqueWhite = RGB(0xfa, 0xeb, 0xd7) , Aqua = RGB(0x00, 0xff, 0xff) , Aquamarine = RGB(0x7f, 0xff, 0xd4) , Azure = RGB(0xf0, 0xff, 0xff) ,
  Beige = RGB(0xf5, 0xf5, 0xdc) , Bisque = RGB(0xff, 0xe4, 0xc4) , Black = RGB(0x00, 0x00, 0x00) , BlanchedAlmond = RGB(0xff, 0xeb, 0xcd) ,
  Blue = RGB(0x00, 0x00, 0xff) , BlueViolet = RGB(0x8a, 0x2b, 0xe2) , Brown = RGB(0xa5, 0x2a, 0x2a) , BurlyWood = RGB(0xde, 0xb8, 0x87) ,
  CadetBlue = RGB(0x5f, 0x9e, 0xa0) , Chartreuse = RGB(0x7f, 0xff, 0x00) , Chocolate = RGB(0xd2, 0x69, 0x1e) , Coral = RGB(0xff, 0x7f, 0x50) ,
  CornflowerBlue = RGB(0x64, 0x95, 0xed) , Cornsilk = RGB(0xff, 0xf8, 0xdc) , Crimson = RGB(0xdc, 0x14, 0x3c) , Cyan = RGB(0x00, 0xff, 0xff) ,
  DarkBlue = RGB(0x00, 0x00, 0x8b) , DarkCyan = RGB(0x00, 0x8b, 0x8b) , DarkGoldenrod = RGB(0xb8, 0x86, 0x0b) , DarkGray = RGB(0xa9, 0xa9, 0xa9) ,
  DarkGreen = RGB(0x00, 0x64, 0x00) , DarkKhaki = RGB(0xbd, 0xb7, 0x6b) , DarkMagenta = RGB(0x8b, 0x00, 0x8b) , DarkOliveGreen = RGB(0x55, 0x6b, 0x2f) ,
  DarkOrange = RGB(0xff, 0x8c, 0x00) , DarkOrchid = RGB(0x99, 0x32, 0xcc) , DarkRed = RGB(0x8b, 0x00, 0x00) , DarkSalmon = RGB(0xe9, 0x96, 0x7a) ,
  DarkSeaGreen = RGB(0x8f, 0xbc, 0x8f) , DarkSlateBlue = RGB(0x48, 0x3d, 0x8b) , DarkSlateGray = RGB(0x2f, 0x4f, 0x4f) , DarkTurquoise = RGB(0x00, 0xce, 0xd1) ,
  DarkViolet = RGB(0x94, 0x00, 0xd3) , DeepPink = RGB(0xff, 0x14, 0x93) , DeepSkyBlue = RGB(0x00, 0xbf, 0xff) , DimGray = RGB(0x69, 0x69, 0x69) ,
  DodgerBlue = RGB(0x1e, 0x90, 0xff) , Firebrick = RGB(0xb2, 0x22, 0x22) , FloralWhite = RGB(0xff, 0xfa, 0xf0) , ForestGreen = RGB(0x22, 0x8b, 0x22) ,
  Fuchsia = RGB(0xff, 0x00, 0xff) , Gainsboro = RGB(0xdc, 0xdc, 0xdc) , GhostWhite = RGB(0xf8, 0xf8, 0xff) , Gold = RGB(0xff, 0xd7, 0x00) ,
  Goldenrod = RGB(0xda, 0xa5, 0x20) , Gray = RGB(0x80, 0x80, 0x80) , Green = RGB(0x00, 0x80, 0x00) , GreenYellow = RGB(0xad, 0xff, 0x2f) ,
  Honeydew = RGB(0xf0, 0xff, 0xf0) , HotPink = RGB(0xff, 0x69, 0xb4) , IndianRed = RGB(0xcd, 0x5c, 0x5c) , Indigo = RGB(0x4b, 0x00, 0x82) ,
  Ivory = RGB(0xff, 0xff, 0xf0) , Khaki = RGB(0xf0, 0xe6, 0x8c) , Lavender = RGB(0xe6, 0xe6, 0xfa) , LavenderBlush = RGB(0xff, 0xf0, 0xf5) ,
  LawnGreen = RGB(0x7c, 0xfc, 0x00) , LemonChiffon = RGB(0xff, 0xfa, 0xcd) , LightBlue = RGB(0xad, 0xd8, 0xe6) , LightCoral = RGB(0xf0, 0x80, 0x80) ,
  LightCyan = RGB(0xe0, 0xff, 0xff) , LightGoldenrodYellow = RGB(0xfa, 0xfa, 0xd2) , LightGray = RGB(0xd3, 0xd3, 0xd3) , LightGreen = RGB(0x90, 0xee, 0x90) ,
  LightPink = RGB(0xff, 0xb6, 0xc1) , LightSalmon = RGB(0xff, 0xa0, 0x7a) , LightSeaGreen = RGB(0x20, 0xb2, 0xaa) , LightSkyBlue = RGB(0x87, 0xce, 0xfa) ,
  LightSlateGray = RGB(0x77, 0x88, 0x99) , LightSteelBlue = RGB(0xb0, 0xc4, 0xde) , LightYellow = RGB(0xff, 0xff, 0xe0) , Lime = RGB(0x00, 0xff, 0x00) ,
  LimeGreen = RGB(0x32, 0xcd, 0x32) , Linen = RGB(0xfa, 0xf0, 0xe6) , Magenta = RGB(0xff, 0x00, 0xff) , Maroon = RGB(0x80, 0x00, 0x00) ,
  MediumAquamarine = RGB(0x66, 0xcd, 0xaa) , MediumBlue = RGB(0x00, 0x00, 0xcd) , MediumOrchid = RGB(0xba, 0x55, 0xd3) , MediumPurple = RGB(0x93, 0x70, 0xdb) ,
  MediumSeaGreen = RGB(0x3c, 0xb3, 0x71) , MediumSlateBlue = RGB(0x7b, 0x68, 0xee) , MediumSpringGreen = RGB(0x00, 0xfa, 0x9a) , MediumTurquoise = RGB(0x48, 0xd1, 0xcc) ,
  MediumVioletRed = RGB(0xc7, 0x15, 0x85) , MidnightBlue = RGB(0x19, 0x19, 0x70) , MintCream = RGB(0xf5, 0xff, 0xfa) , MistyRose = RGB(0xff, 0xe4, 0xe1) ,
  Moccasin = RGB(0xff, 0xe4, 0xb5) , NavajoWhite = RGB(0xff, 0xde, 0xad) , Navy = RGB(0x00, 0x00, 0x80) , OldLace = RGB(0xfd, 0xf5, 0xe6) ,
  Olive = RGB(0x80, 0x80, 0x00) , OliveDrab = RGB(0x6b, 0x8e, 0x23) , Orange = RGB(0xff, 0xa5, 0x00) , OrangeRed = RGB(0xff, 0x45, 0x00) ,
  Orchid = RGB(0xda, 0x70, 0xd6) , PaleGoldenrod = RGB(0xee, 0xe8, 0xaa) , PaleGreen = RGB(0x98, 0xfb, 0x98) , PaleTurquoise = RGB(0xaf, 0xee, 0xee) ,
  PaleVioletRed = RGB(0xdb, 0x70, 0x93) , PapayaWhip = RGB(0xff, 0xef, 0xd5) , PeachPuff = RGB(0xff, 0xda, 0xb9) , Peru = RGB(0xcd, 0x85, 0x3f) ,
  Pink = RGB(0xff, 0xc0, 0xcb) , Plum = RGB(0xdd, 0xa0, 0xdd) , PowderBlue = RGB(0xb0, 0xe0, 0xe6) , Purple = RGB(0x80, 0x00, 0x80) ,
  Red = RGB(0xff, 0x00, 0x00) , RosyBrown = RGB(0xbc, 0x8f, 0x8f) , RoyalBlue = RGB(0x41, 0x69, 0xe1) , SaddleBrown = RGB(0x8b, 0x45, 0x13) ,
  Salmon = RGB(0xfa, 0x80, 0x72) , SandyBrown = RGB(0xf4, 0xa4, 0x60) , SeaGreen = RGB(0x2e, 0x8b, 0x57) , SeaShell = RGB(0xff, 0xf5, 0xee) ,
  Sienna = RGB(0xa0, 0x52, 0x2d) , Silver = RGB(0xc0, 0xc0, 0xc0) , SkyBlue = RGB(0x87, 0xce, 0xeb) , SlateBlue = RGB(0x6a, 0x5a, 0xcd) ,
  SlateGray = RGB(0x70, 0x80, 0x90) , Snow = RGB(0xff, 0xfa, 0xfa) , SpringGreen = RGB(0x00, 0xff, 0x7f) , SteelBlue = RGB(0x46, 0x82, 0xb4) ,
  Tan = RGB(0xd2, 0xb4, 0x8c) , Teal = RGB(0x00, 0x80, 0x80) , Thistle = RGB(0xd8, 0xbf, 0xd8) , Tomato = RGB(0xff, 0x63, 0x47) ,
  Turquoise = RGB(0x40, 0xe0, 0xd0) , Violet = RGB(0xee, 0x82, 0xee) , Wheat = RGB(0xf5, 0xde, 0xb3) , White = RGB(0xff, 0xff, 0xff) ,
  WhiteSmoke = RGB(0xf5, 0xf5, 0xf5) , Yellow = RGB(0xff, 0xff, 0x00) , YellowGreen = RGB(0x9a, 0xcd, 0x32) , ButtonFace = RGB(0xf0, 0xf0, 0xf0) ,
  ButtonHighlight = RGB(0xff, 0xff, 0xff) , ButtonShadow = RGB(0xa0, 0xa0, 0xa0) , GradientActiveCaption = RGB(0xb9, 0xd1, 0xea) , GradientInactiveCaption = RGB(0xd7, 0xe4, 0xf2) ,
  MenuBar = RGB(0xf0, 0xf0, 0xf0) , MenuHighlight = RGB(0x33, 0x99, 0xff) , RebeccaPurple = RGB(0x66, 0x33, 0x99)
}
 已知的颜色 更多...
 
enum class  TextTrimming { None , EndEllipsis , WordEllipsis }
 文本过长时末尾的处理方式 更多...
 
enum class  ListViewImageList { Normal = LVSIL_NORMAL , Small = LVSIL_SMALL , State = LVSIL_STATE , GroupHeader = LVSIL_GROUPHEADER }
 列表视图的图像列表枚举 更多...
 
enum class  ListViewColumnAlignment { Left = LVCFMT_LEFT , Right = LVCFMT_RIGHT , Center = LVCFMT_CENTER }
 列表视图的列对齐方式 更多...
 
enum class  MsgBoxButton {
  AbortRetryIgnore = MB_ABORTRETRYIGNORE , CancelRetryContinue = MB_CANCELTRYCONTINUE , Ok = MB_OK , OkCancel = MB_OKCANCEL ,
  RetryCancel = MB_RETRYCANCEL , YesNo = MB_YESNO , YesNoCancel = MB_YESNOCANCEL
}
 消息框按钮类型 更多...
 
enum class  MsgBoxIcon {
  None = 0 , Warning = MB_ICONWARNING , Information = MB_ICONINFORMATION , Question = MB_ICONQUESTION ,
  Error = MB_ICONERROR
}
 消息框图标类型 更多...
 
enum class  MsgBoxResult {
  Abort = IDABORT , Cancel = IDCANCEL , Continue = IDCONTINUE , Ignore = IDIGNORE ,
  No = IDNO , Ok = IDOK , Retry = IDRETRY , TryAgain = IDTRYAGAIN ,
  Yes = IDYES
}
 消息框结果 更多...
 
enum class  BorderStyle {
  None = 0 , Bump = EDGE_BUMP , Etched = EDGE_ETCHED , Raised = EDGE_RAISED ,
  Sunked = EDGE_SUNKEN
}
 边框类型 更多...
 
enum class  ProgressBarState { Normal = 0x0001 , Error = 0x0002 , Paused = 0x0003 }
 进度条状态 更多...
 
enum  RoutedEventType : uint32_t {
  RoutedEventType_Null = 0 , RoutedEventType_User = 1 , RoutedEventType_UserEnd = 0x80000000 , UIElement_SizeChanged ,
  UIElement_PositionChanged , UIElement_TextChanged , UIElement_GotFocus , UIElement_LostFocus ,
  UIElement_GotChar , UIElement_KeyDown , UIElement_KeyUp , UIElement_MouseMove ,
  UIElement_MouseLeave , UIElement_MouseWheel , UIElement_MouseButtonDown , UIElement_MouseButtonUp ,
  UIElement_ShowContextMenu , UIElement_DropFiles , Window_Closing , Window_Closed ,
  Window_Actived , Window_Inactived , ButtonBase_Clicked , ButtonBase_DoubleClicked ,
  SplitButton_DropDown , ItemsControl_SelectionChanged , ListView_CheckStateChanged , ListView_HeaderClicked ,
  ListView_HeaderDoubleClicked , ListView_ItemClicked , ListView_ItemDoubleClicked , ListView_EndEdit ,
  Slider_ValueChanged , Slider_EndTrack , Layer_Scrolling , TabControl_SelectedIndexChanged ,
  DateTimePicker_TimeChanged , MonthCalendar_TimeChanged , IPAddressControl_AddressChanged , SysLink_Clicked ,
  HotKeyControl_ValueChanged , TreeView_ItemExpanding , TreeView_ItemExpanded , TreeView_CheckStateChanged
}
 路由事件类型枚举 更多...
 
enum class  ScrollOrientation { Horizontal , Vertical }
 滚动条方向 更多...
 
enum class  ScrollEvent {
  LineUp = SB_LINEUP , LineLeft = SB_LINELEFT , LineDown = SB_LINEDOWN , LineRight = SB_LINERIGHT ,
  PageUp = SB_PAGEUP , PageLeft = SB_PAGELEFT , PageDown = SB_PAGEDOWN , PageRight = SB_PAGERIGHT ,
  ThumbPosition = SB_THUMBPOSITION , ThubmTrack = SB_THUMBTRACK , Top = SB_TOP , Left = SB_LEFT ,
  Bottom = SB_BOTTOM , Right = SB_RIGHT , EndScroll = SB_ENDSCROLL
}
 滚动条事件 更多...
 
enum class  TabAlignment { Top , Bottom , Left , Right }
 TabControl标签的位置 更多...
 
enum class  ToolTipIcon {
  None = TTI_NONE , Info = TTI_INFO , Warning = TTI_WARNING , Error = TTI_ERROR ,
  LargeInfo = 4 , LargeWarning = 5 , LargeError = 6
}
 提示信息图标类型 更多...
 
enum class  TreeViewImageList { Normal = TVSIL_NORMAL , State = TVSIL_STATE }
 树视图的图像列表枚举 更多...
 
enum class  LayoutUpdateCondition : uint32_t {
  SizeChanged = 1 << 0 , PositionChanged = 1 << 1 , ChildAdded = 1 << 2 , ChildRemoved = 1 << 3 ,
  TextChanged = 1 << 4 , FontChanged = 1 << 5 , MeasureInvalidated = 1 << 29 , Supressed = 1 << 30
}
 通知布局更新的条件 更多...
 
enum class  WindowState { Normal , Minimized , Maximized }
 窗口状态 更多...
 
enum class  WindowStartupLocation { Manual , CenterScreen , CenterOwner }
 窗口启动位置 更多...
 
enum  WndMsg : UINT {
  WM_SimpleWindowBegin = WM_APP + 0x3000 , WM_UpdateLayout , WM_InvokeAction , WM_PreSetParent ,
  WM_SimpleWindowEnd
}
 包含SimpleWindow用到的一些窗口消息 更多...
 

函数

 _SW_ENUM_ENABLE_BIT_OPERATIONS (ColorDialogFlags)
 标记ColorDialogFlags枚举支持位运算
 
template<typename TRet , typename... Args>
bool operator== (std::nullptr_t, const Delegate< TRet(Args...)> &d) noexcept
 比较委托和nullptr
 
template<typename TRet , typename... Args>
bool operator!= (std::nullptr_t, const Delegate< TRet(Args...)> &d) noexcept
 比较委托和nullptr
 
template<typename T >
constexpr auto operator| (T a, T b) -> typename std::enable_if< std::is_enum< T >::value &&_EnumSupportBitOperations< T >::value, T >::type
 为标记_EnumSupportBitOperations的枚举类型提供按位或运算
 
template<typename T >
constexpr auto operator|= (T &a, T b) -> typename std::enable_if< std::is_enum< T >::value &&_EnumSupportBitOperations< T >::value, T & >::type
 为标记_EnumSupportBitOperations的枚举类型提供按位或赋值运算
 
template<typename T >
constexpr auto operator& (T a, T b) -> typename std::enable_if< std::is_enum< T >::value &&_EnumSupportBitOperations< T >::value, T >::type
 为标记_EnumSupportBitOperations的枚举类型提供按位与运算
 
template<typename T >
constexpr auto operator&= (T &a, T b) -> typename std::enable_if< std::is_enum< T >::value &&_EnumSupportBitOperations< T >::value, T & >::type
 为标记_EnumSupportBitOperations的枚举类型提供按位与赋值运算
 
template<typename T >
constexpr auto operator^ (T a, T b) -> typename std::enable_if< std::is_enum< T >::value &&_EnumSupportBitOperations< T >::value, T >::type
 为标记_EnumSupportBitOperations的枚举类型提供按位异或运算
 
template<typename T >
constexpr auto operator^= (T &a, T b) -> typename std::enable_if< std::is_enum< T >::value &&_EnumSupportBitOperations< T >::value, T & >::type
 为标记_EnumSupportBitOperations的枚举类型提供按位异或赋值运算
 
template<typename T >
constexpr auto operator~ (T a) -> typename std::enable_if< std::is_enum< T >::value &&_EnumSupportBitOperations< T >::value, T >::type
 为标记_EnumSupportBitOperations的枚举类型提供按位取反运算
 
 _SW_ENUM_ENABLE_BIT_OPERATIONS (FileDialogFlags)
 标记FileDialogFlags枚举支持位运算
 
 _SW_ENUM_ENABLE_BIT_OPERATIONS (FolderDialogFlags)
 标记FolderDialogFlags枚举支持位运算
 
 _SW_ENUM_ENABLE_BIT_OPERATIONS (FontDialogFlags)
 标记FontDialogFlags枚举支持位运算
 
 _SW_ENUM_ENABLE_BIT_OPERATIONS (HotKeyCombination)
 标记HotKeyCombination枚举类型支持位运算
 
 _SW_ENUM_ENABLE_BIT_OPERATIONS (MouseKey)
 标记MouseKey枚举类型支持位运算
 
 _SW_ENUM_ENABLE_BIT_OPERATIONS (HotKeyModifier)
 标记HotKeyModifier枚举类型支持位运算
 
 _SW_DEFINE_OPERATION_HELPER (_AddOperationHelper,+)
 
 _SW_DEFINE_OPERATION_HELPER (_SubOperationHelper, -)
 
 _SW_DEFINE_OPERATION_HELPER (_MulOperationHelper, *)
 
 _SW_DEFINE_OPERATION_HELPER (_DivOperationHelper,/)
 
 _SW_DEFINE_OPERATION_HELPER (_ModOperationHelper, %)
 
 _SW_DEFINE_OPERATION_HELPER (_EqOperationHelper,==)
 
 _SW_DEFINE_OPERATION_HELPER (_NeOperationHelper, !=)
 
 _SW_DEFINE_OPERATION_HELPER (_LtOperationHelper,<)
 
 _SW_DEFINE_OPERATION_HELPER (_LeOperationHelper,<=)
 
 _SW_DEFINE_OPERATION_HELPER (_GtOperationHelper, >)
 
 _SW_DEFINE_OPERATION_HELPER (_GeOperationHelper, >=)
 
 _SW_DEFINE_OPERATION_HELPER (_BitAndOperationHelper, &)
 
 _SW_DEFINE_OPERATION_HELPER (_BitOrOperationHelper,|)
 
 _SW_DEFINE_OPERATION_HELPER (_BitXorOperationHelper, ^)
 
 _SW_DEFINE_OPERATION_HELPER (_ShlOperationHelper,<<)
 
 _SW_DEFINE_OPERATION_HELPER (_ShrOperationHelper, > >)
 
 _SW_DEFINE_OPERATION_HELPER (_LogicAndOperationHelper, &&)
 
 _SW_DEFINE_OPERATION_HELPER (_LogicOrOperationHelper,||)
 
 _SW_DEFINE_UNARY_OPERATION_HELPER (_LogicNotOperationHelper, !)
 
 _SW_DEFINE_UNARY_OPERATION_HELPER (_BitNotOperationHelper, ~)
 
 _SW_DEFINE_UNARY_OPERATION_HELPER (_DerefOperationHelper, *)
 
 _SW_DEFINE_UNARY_OPERATION_HELPER (_AddrOperationHelper, &)
 
 _SW_DEFINE_UNARY_OPERATION_HELPER (_UnaryPlusOperationHelper,+)
 
 _SW_DEFINE_UNARY_OPERATION_HELPER (_UnaryMinusOperationHelper, -)
 
template<typename D , typename T , typename U >
auto operator+ (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_AddOperationHelper< T, U >::value, typename _AddOperationHelper< T, U >::type >::type
 加法运算
 
template<typename D , typename T , typename U >
auto operator- (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_SubOperationHelper< T, U >::value, typename _SubOperationHelper< T, U >::type >::type
 减法运算
 
template<typename D , typename T , typename U >
auto operator* (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_MulOperationHelper< T, U >::value, typename _MulOperationHelper< T, U >::type >::type
 乘法运算
 
template<typename D , typename T , typename U >
auto operator/ (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_DivOperationHelper< T, U >::value, typename _DivOperationHelper< T, U >::type >::type
 除法运算
 
template<typename D , typename T , typename U >
auto operator% (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_ModOperationHelper< T, U >::value, typename _ModOperationHelper< T, U >::type >::type
 取模运算
 
template<typename D , typename T , typename U >
auto operator== (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_EqOperationHelper< T, U >::value, typename _EqOperationHelper< T, U >::type >::type
 等于运算
 
template<typename D , typename T , typename U >
auto operator!= (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_EqOperationHelper< T, U >::value, typename _EqOperationHelper< T, U >::type >::type
 不等于运算
 
template<typename D , typename T , typename U >
auto operator< (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_LtOperationHelper< T, U >::value, typename _LtOperationHelper< T, U >::type >::type
 小于运算
 
template<typename D , typename T , typename U >
auto operator<= (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_LeOperationHelper< T, U >::value, typename _LeOperationHelper< T, U >::type >::type
 小于等于运算
 
template<typename D , typename T , typename U >
auto operator> (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_GtOperationHelper< T, U >::value, typename _GtOperationHelper< T, U >::type >::type
 大于运算
 
template<typename D , typename T , typename U >
auto operator>= (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_GeOperationHelper< T, U >::value, typename _GeOperationHelper< T, U >::type >::type
 大于等于运算
 
template<typename D , typename T , typename U >
auto operator& (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_BitAndOperationHelper< T, U >::value, typename _BitAndOperationHelper< T, U >::type >::type
 按位与运算
 
template<typename D , typename T , typename U >
auto operator| (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_BitOrOperationHelper< T, U >::value, typename _BitOrOperationHelper< T, U >::type >::type
 按位或运算
 
template<typename D , typename T , typename U >
auto operator^ (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_BitXorOperationHelper< T, U >::value, typename _BitXorOperationHelper< T, U >::type >::type
 按位异或运算
 
template<typename D , typename T , typename U >
auto operator<< (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_ShlOperationHelper< T, U >::value, typename _ShlOperationHelper< T, U >::type >::type
 左移运算
 
template<typename D , typename T , typename U >
auto operator>> (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_ShrOperationHelper< T, U >::value, typename _ShrOperationHelper< T, U >::type >::type
 右移运算
 
template<typename D , typename T , typename U >
auto operator&& (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_LogicAndOperationHelper< T, U >::value, typename _LogicAndOperationHelper< T, U >::type >::type
 逻辑与运算
 
template<typename D , typename T , typename U >
auto operator|| (T &&left, const PropertyBase< U, D > &right) -> typename std::enable_if<!_IsProperty< T >::value &&_LogicOrOperationHelper< T, U >::value, typename _LogicOrOperationHelper< T, U >::type >::type
 逻辑或运算
 
 _SW_ENUM_ENABLE_BIT_OPERATIONS (LayoutUpdateCondition)
 标记LayoutUpdateCondition支持位操作
 

详细描述

SimpleWindow框架的顶级命名空间,所有公共类型、控件、枚举和工具函数均定义于此。

类型定义说明

◆ RoutedEventHandler

路由事件类型

注解
第一个参数为注册事件监听器的元素,第二个参数为具体的事件参数

枚举类型说明

◆ AppQuitMode

线程退出消息循环的方式

枚举值
Auto 

线程中所有窗口都销毁时自动退出消息循环

Manual 

需手动调用QuitMsgLoop以退出消息循环

◆ BindingMode

绑定模式枚举

枚举值
OneTime 

一次性绑定,在绑定创建时更新目标属性值

OneWay 

单向,从源到目标

OneWayToSource 

单向,从目标到源

TwoWay 

双向,源和目标相互更新

◆ BmpBoxSizeMode

指定位图在BmpBox中的定位方式

枚举值
Normal 

位图置于BmpBox左上角

StretchImage 

拉伸位图填充BmpBox

AutoSize 

调整BmpBox大小,使其等于所包含位图的大小

CenterImage 

将位图居中显示

Zoom 

图像按照原来的比例缩放

◆ BorderStyle

边框类型

枚举值
None 

无边框

Bump 

突出的凸起边框

Etched 

刻痕式边框

Raised 

凸起边框

Sunked 

凹陷边框

◆ CheckState

选中状态枚举类型

枚举值
Unchecked 

未选中

Checked 

已选中

Indeterminate 

不确定状态

◆ ColorDialogFlags

https://learn.microsoft.com/en-us/windows/win32/api/commdlg/ns-commdlg-choosecolora-r1

枚举值
AnyColor 

Causes the dialog box to display all available colors in the set of basic colors.

EnableHook 

Enables the hook procedure specified in the lpfnHook member of this structure. This flag is used only to initialize the dialog box.

EnableTemplate 

The hInstance and lpTemplateName members specify a dialog box template to use in place of the default template. This flag is used only to initialize the dialog box.

EnableTemplateHandle 

The hInstance member identifies a data block that contains a preloaded dialog box template. The system ignores the lpTemplateName member if this flag is specified. This flag is used only to initialize the dialog box.

FullOpen 

Causes the dialog box to display the additional controls that allow the user to create custom colors. If this flag is not set, the user must click the Define Custom Color button to display the custom color controls.

PreventFullOpen 

Disables the Define Custom Color button.

RgbInit 

Causes the dialog box to use the color specified in the rgbResult member as the initial color selection.

ShowHelp 

Causes the dialog box to display the Help button. The hwndOwner member must specify the window to receive the HELPMSGSTRING registered messages that the dialog box sends when the user clicks the Help button.

SolidColor 

Causes the dialog box to display only solid colors in the set of basic colors.

◆ DateTimePickerFormat

指定DateTimePicker控件显示的日期和时间格式

枚举值
Short 

以短格式显示日期

Long 

以长格式显示日期

Custom 

自定义格式

◆ FileDialogFlags

https://learn.microsoft.com/en-us/windows/win32/api/commdlg/ns-commdlg-openfilenamew

枚举值
AllowMultiSelect 

The File Name list box allows multiple selections. If you also set the OFN_EXPLORER flag, the dialog box uses the Explorer-style user interface; otherwise, it uses the old-style user interface. If the user selects more than one file, the lpstrFile buffer returns the path to the current directory followed by the file names of the selected files. The nFileOffset member is the offset, in bytes or characters, to the first file name, and the nFileExtension member is not used. For Explorer-style dialog boxes, the directory and file name strings are NULL separated, with an extra NULL character after the last file name. This format enables the Explorer-style dialog boxes to return long file names that include spaces. For old-style dialog boxes, the directory and file name strings are separated by spaces and the function uses short file names for file names with spaces. You can use the FindFirstFile function to convert between long and short file names. If you specify a custom template for an old-style dialog box, the definition of the File Name list box must contain the LBS_EXTENDEDSEL value.

CreatePrompt 

If the user specifies a file that does not exist, this flag causes the dialog box to prompt the user for permission to create the file. If the user chooses to create the file, the dialog box closes and the function returns the specified name; otherwise, the dialog box remains open. If you use this flag with the OFN_ALLOWMULTISELECT flag, the dialog box allows the user to specify only one nonexistent file.

DontAddTorecent 

Prevents the system from adding a link to the selected file in the file system directory that contains the user's most recently used documents. To retrieve the location of this directory, call the SHGetSpecialFolderLocation function with the CSIDL_RECENT flag.

EnableHook 

Enables the hook function specified in the lpfnHook member.

EnableIncludeNotify 

Causes the dialog box to send CDN_INCLUDEITEM notification messages to your OFNHookProc hook procedure when the user opens a folder. The dialog box sends a notification for each item in the newly opened folder. These messages enable you to control which items the dialog box displays in the folder's item list.

EnableSizing 

Enables the Explorer-style dialog box to be resized using either the mouse or the keyboard. By default, the Explorer-style Open and Save As dialog boxes allow the dialog box to be resized regardless of whether this flag is set. This flag is necessary only if you provide a hook procedure or custom template. The old-style dialog box does not permit resizing.

EnableTemplate 

The lpTemplateName member is a pointer to the name of a dialog template resource in the module identified by the hInstance member. If the OFN_EXPLORER flag is set, the system uses the specified template to create a dialog box that is a child of the default Explorer-style dialog box. If the OFN_EXPLORER flag is not set, the system uses the template to create an old-style dialog box that replaces the default dialog box.

EnableTemplateHandle 

The hInstance member identifies a data block that contains a preloaded dialog box template. The system ignores lpTemplateName if this flag is specified. If the OFN_EXPLORER flag is set, the system uses the specified template to create a dialog box that is a child of the default Explorer-style dialog box. If the OFN_EXPLORER flag is not set, the system uses the template to create an old-style dialog box that replaces the default dialog box.

Explorer 

Indicates that any customizations made to the Open or Save As dialog box use the Explorer-style customization methods. For more information, see Explorer-Style Hook Procedures and Explorer-Style Custom Templates. By default, the Open and Save As dialog boxes use the Explorer-style user interface regardless of whether this flag is set. This flag is necessary only if you provide a hook procedure or custom template, or set the OFN_ALLOWMULTISELECT flag. If you want the old-style user interface, omit the OFN_EXPLORER flag and provide a replacement old-style template or hook procedure. If you want the old style but do not need a custom template or hook procedure, simply provide a hook procedure that always returns FALSE.

ExtensionDifferent 

The user typed a file name extension that differs from the extension specified by lpstrDefExt. The function does not use this flag if lpstrDefExt is NULL.

FileMustExist 

The user can type only names of existing files in the File Name entry field. If this flag is specified and the user enters an invalid name, the dialog box procedure displays a warning in a message box. If this flag is specified, the OFN_PATHMUSTEXIST flag is also used. This flag can be used in an Open dialog box. It cannot be used with a Save As dialog box.

ForceShowHidden 

Forces the showing of system and hidden files, thus overriding the user setting to show or not show hidden files. However, a file that is marked both system and hidden is not shown.

HideReadOnly 

Hides the Read Only check box.

LongNames 

For old-style dialog boxes, this flag causes the dialog box to use long file names. If this flag is not specified, or if the OFN_ALLOWMULTISELECT flag is also set, old-style dialog boxes use short file names (8.3 format) for file names with spaces. Explorer-style dialog boxes ignore this flag and always display long file names.

NoChangeDir 

Restores the current directory to its original value if the user changed the directory while searching for files. This flag is ineffective for GetOpenFileName.

NoDereferenceLinks 

Directs the dialog box to return the path and file name of the selected shortcut (.LNK) file. If this value is not specified, the dialog box returns the path and file name of the file referenced by the shortcut.

NoLongNames 

For old-style dialog boxes, this flag causes the dialog box to use short file names (8.3 format). Explorer-style dialog boxes ignore this flag and always display long file names.

NoNetworkButton 

Hides and disables the Network button.

NoReadOnlyReturn 

The returned file does not have the Read Only check box selected and is not in a write-protected directory.

NoTestFileCreate 

The file is not created before the dialog box is closed. This flag should be specified if the application saves the file on a create-nonmodify network share. When an application specifies this flag, the library does not check for write protection, a full disk, an open drive door, or network protection. Applications using this flag must perform file operations carefully, because a file cannot be reopened once it is closed.

NoValidate 

The common dialog boxes allow invalid characters in the returned file name. Typically, the calling application uses a hook procedure that checks the file name by using the FILEOKSTRING message. If the text box in the edit control is empty or contains nothing but spaces, the lists of files and directories are updated. If the text box in the edit control contains anything else, nFileOffset and nFileExtension are set to values generated by parsing the text. No default extension is added to the text, nor is text copied to the buffer specified by lpstrFileTitle. If the value specified by nFileOffset is less than zero, the file name is invalid. Otherwise, the file name is valid, and nFileExtension and nFileOffset can be used as if the OFN_NOVALIDATE flag had not been specified.

OverwritePrompt 

Causes the Save As dialog box to generate a message box if the selected file already exists. The user must confirm whether to overwrite the file.

PathMustExist 

The user can type only valid paths and file names. If this flag is used and the user types an invalid path and file name in the File Name entry field, the dialog box function displays a warning in a message box.

ReadOnly 

Causes the Read Only check box to be selected initially when the dialog box is created. This flag indicates the state of the Read Only check box when the dialog box is closed.

ShareAware 

Specifies that if a call to the OpenFile function fails because of a network sharing violation, the error is ignored and the dialog box returns the selected file name. If this flag is not set, the dialog box notifies your hook procedure when a network sharing violation occurs for the file name specified by the user. If you set the OFN_EXPLORER flag, the dialog box sends the CDN_SHAREVIOLATION message to the hook procedure. If you do not set OFN_EXPLORER, the dialog box sends the SHAREVISTRING registered message to the hook procedure.

ShowHelp 

Causes the dialog box to display the Help button. The hwndOwner member must specify the window to receive the HELPMSGSTRING registered messages that the dialog box sends when the user clicks the Help button. An Explorer-style dialog box sends a CDN_HELP notification message to your hook procedure when the user clicks the Help button.

◆ FolderDialogFlags

https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/ns-shlobj_core-browseinfoa

枚举值
ReturnOnlyFileSystemDirs 

Only return file system directories. If the user selects folders that are not part of the file system, the OK button is grayed. Note The OK button remains enabled for "\\server" items, as well as "\\server\share" and directory items. However, if the user selects a "\\server" item, passing the PIDL returned by SHBrowseForFolder to SHGetPathFromIDList fails.

DontGoBelowDomain 

Do not include network folders below the domain level in the dialog box's tree view control.

StatusText 

Include a status area in the dialog box. The callback function can set the status text by sending messages to the dialog box. This flag is not supported when BIF_NEWDIALOGSTYLE is specified.

ReturnFileSystemAncestors 

Only return file system ancestors. An ancestor is a subfolder that is beneath the root folder in the namespace hierarchy. If the user selects an ancestor of the root folder that is not part of the file system, the OK button is grayed.

EditBox 

Version 4.71. Include an edit control in the browse dialog box that allows the user to type the name of an item.

Validate 

Version 4.71. If the user types an invalid name into the edit box, the browse dialog box calls the application's BrowseCallbackProc with the BFFM_VALIDATEFAILED message. This flag is ignored if BIF_EDITBOX is not specified.

NewDialogStyle 

Version 5.0. Use the new user interface. Setting this flag provides the user with a larger dialog box that can be resized. The dialog box has several new capabilities, including: drag-and-drop capability within the dialog box, reordering, shortcut menus, new folders, delete, and other shortcut menu commands. Note If COM is initialized through CoInitializeEx with the COINIT_MULTITHREADED flag set, SHBrowseForFolder fails if BIF_NEWDIALOGSTYLE is passed.

BrowseIncludeUrls 

Version 5.0. The browse dialog box can display URLs. The BIF_USENEWUI and BIF_BROWSEINCLUDEFILES flags must also be set. If any of these three flags are not set, the browser dialog box rejects URLs. Even when these flags are set, the browse dialog box displays URLs only if the folder that contains the selected item supports URLs. When the folder's IShellFolder::GetAttributesOf method is called to request the selected item's attributes, the folder must set the SFGAO_FOLDER attribute flag. Otherwise, the browse dialog box will not display the URL.

UseNewUI 

Version 5.0. Use the new user interface, including an edit box. This flag is equivalent to BIF_EDITBOX | BIF_NEWDIALOGSTYLE. Note If COM is initialized through CoInitializeEx with the COINIT_MULTITHREADED flag set, SHBrowseForFolder fails if BIF_USENEWUI is passed.

UsageHint 

Version 6.0. When combined with BIF_NEWDIALOGSTYLE, adds a usage hint to the dialog box, in place of the edit box. BIF_EDITBOX overrides this flag.

NoNewFolderButton 

Version 6.0. Do not include the New Folder button in the browse dialog box.

NoTranslateTargets 

Version 6.0. When the selected item is a shortcut, return the PIDL of the shortcut itself rather than its target.

BrowseForComputer 

Only return computers. If the user selects anything other than a computer, the OK button is grayed.

BrowseForPrinter 

Only allow the selection of printers. If the user selects anything other than a printer, the OK button is grayed. In Windows XP and later systems, the best practice is to use a Windows XP-style dialog, setting the root of the dialog to the Printers and Faxes folder (CSIDL_PRINTERS).

BrowseIncludeFiles 

Version 4.71. The browse dialog box displays files as well as folders.

Sharable 

Version 5.0. The browse dialog box can display sharable resources on remote systems. This is intended for applications that want to expose remote shares on a local system. The BIF_NEWDIALOGSTYLE flag must also be set.

BrowseFileJunctions 

Windows 7 and later. Allow folder junctions such as a library or a compressed file with a .zip file name extension to be browsed.

◆ FontCharSet

字符集

枚举值
ANSI 

ANSI 字符集(Windows-1252,西欧)

Baltic 

波罗的海字符集

CheneseBig5 

繁体中文(Big5)字符集

Default 

默认字符集(随系统区域设置而定)

EastEurope 

东欧字符集

GB2312 

简体中文(GB2312)字符集

Greek 

希腊语字符集

Hangul 

韩语字符集

Mac 

Mac 字符集

Oem 

OEM 字符集(随系统 OEM 代码页)

Russian 

俄语字符集

ShiftJIS 

日语 Shift-JIS 字符集

Symbol 

Symbol 符号字符集

Turkish 

土耳其语字符集

Vietnamese 

越南语字符集

Johab 

韩语 Johab 字符集

Arabic 

阿拉伯语字符集

Hebrew 

希伯来语字符集

Thai 

泰语字符集

◆ FontClipPrecision

剪裁精度

枚举值
CharacterPrecis 

未使用。

DefaultPrecis 

指定默认剪辑行为。

Embedded 

必须指定此标志才能使用嵌入的只读字体。

LH_Angles 

使用此值时,所有字体的旋转取决于坐标系的方向是左手还是右手。如果未使用,设备字体始终逆时针旋转,但其他字体的旋转取决于坐标系的方向。

Mask 

未使用。

StrokePrecis 

字体映射器不使用,但在枚举光栅、矢量或 TrueType 字体时返回。 为了兼容,枚举字体时始终返回此值。

TT_Always 

未使用。

◆ FontDialogFlags

https://learn.microsoft.com/en-us/windows/win32/api/commdlg/ns-commdlg-choosefonta

枚举值
Apply 

Causes the dialog box to display the Apply button. You should provide a hook procedure to process WM_COMMAND messages for the Apply button. The hook procedure can send the WM_CHOOSEFONT_GETLOGFONT message to the dialog box to retrieve the address of the structure that contains the current selections for the font.

ANSIOnly 

This flag is obsolete. To limit font selections to all scripts except those that use the OEM or Symbol character sets, use CF_SCRIPTSONLY. To get the original CF_ANSIONLY behavior, use CF_SELECTSCRIPT and specify ANSI_CHARSET in the lfCharSet member of the LOGFONT structure pointed to by lpLogFont.

Both 

This flag is ignored for font enumeration. Windows Vista and Windows XP/2000: Causes the dialog box to list the available printer and screen fonts. The hDC member is a handle to the device context or information context associated with the printer. This flag is a combination of the CF_SCREENFONTS and CF_PRINTERFONTS flags.

Effects 

Causes the dialog box to display the controls that allow the user to specify strikeout, underline, and text color options. If this flag is set, you can use the rgbColors member to specify the initial text color. You can use the lfStrikeOut and lfUnderline members of the structure pointed to by lpLogFont to specify the initial settings of the strikeout and underline check boxes. ChooseFont can use these members to return the user's selections.

EnableHook 

Enables the hook procedure specified in the lpfnHook member of this structure.

EnableTemplate 

Indicates that the hInstance and lpTemplateName members specify a dialog box template to use in place of the default template.

EnableTemplateHandle 

Indicates that the hInstance member identifies a data block that contains a preloaded dialog box template. The system ignores the lpTemplateName member if this flag is specified.

FixedPitchOnly 

ChooseFont should enumerate and allow selection of only fixed-pitch fonts.

ForceFontExist 

ChooseFont should indicate an error condition if the user attempts to select a font or style that is not listed in the dialog box.

InavtiveFonts 

ChooseFont should additionally display fonts that are set to Hide in Fonts Control Panel. Windows Vista and Windows XP/2000: This flag is not supported until Windows 7.

InitToLogFontStruct 

ChooseFont should use the structure pointed to by the lpLogFont member to initialize the dialog box controls.

LimitSize 

ChooseFont should select only font sizes within the range specified by the nSizeMin and nSizeMax members.

NoOemFonts 

Same as the CF_NOVECTORFONTS flag.

NoFaceSel 

When using a LOGFONT structure to initialize the dialog box controls, use this flag to prevent the dialog box from displaying an initial selection for the font name combo box. This is useful when there is no single font name that applies to the text selection.

NoScriptSel 

Disables the Script combo box. When this flag is set, the lfCharSet member of the LOGFONT structure is set to DEFAULT_CHARSET when ChooseFont returns. This flag is used only to initialize the dialog box.

NoSimulations 

ChooseFont should not display or allow selection of font simulations.

NoSizeSel 

When using a structure to initialize the dialog box controls, use this flag to prevent the dialog box from displaying an initial selection for the Font Size combo box. This is useful when there is no single font size that applies to the text selection.

NoStyleSel 

When using a LOGFONT structure to initialize the dialog box controls, use this flag to prevent the dialog box from displaying an initial selection for the Font Style combo box. This is useful when there is no single font style that applies to the text selection.

NoVectorFonts 

ChooseFont should not allow vector font selections.

NoVertFonts 

Causes the Font dialog box to list only horizontally oriented fonts.

PrinterFonts 

This flag is ignored for font enumeration. Windows Vista and Windows XP/2000: Causes the dialog box to list only the fonts supported by the printer associated with the device context or information context identified by the hDC member. It also causes the font type description label to appear at the bottom of the Font dialog box.

ScalableOnly 

Specifies that ChooseFont should allow only the selection of scalable fonts. Scalable fonts include vector fonts, scalable printer fonts, TrueType fonts, and fonts scaled by other technologies.

ScreenFonts 

This flag is ignored for font enumeration. Windows Vista and Windows XP/2000: Causes the dialog box to list only the screen fonts supported by the system.

ScriptsOnly 

ChooseFont should allow selection of fonts for all non-OEM and Symbol character sets, as well as the ANSI character set. This supersedes the CF_ANSIONLY value.

SelectScript 

When specified on input, only fonts with the character set identified in the lfCharSet member of the LOGFONT structure are displayed. The user will not be allowed to change the character set specified in the Scripts combo box.

ShowHelp 

Causes the dialog box to display the Help button. The hwndOwner member must specify the window to receive the HELPMSGSTRING registered messages that the dialog box sends when the user clicks the Help button.

TrueTypeOnly 

ChooseFont should only enumerate and allow the selection of TrueType fonts.

UseStyle 

The lpszStyle member is a pointer to a buffer that contains style data that ChooseFont should use to initialize the Font Style combo box. When the user closes the dialog box, ChooseFont copies style data for the user's selection to this buffer. [Note] To globalize your application, you should specify the style by using the lfWeight and lfItalic members of the LOGFONT structure pointed to by lpLogFont. The style name may change depending on the system user interface language.

WYSIWYG 

Obsolete. ChooseFont ignores this flag. Windows Vista and Windows XP/2000: ChooseFont should allow only the selection of fonts available on both the printer and the display. If this flag is specified, the CF_SCREENSHOTS and CF_PRINTERFONTS, or CF_BOTH flags should also be specified.

◆ FontFamily

字体系列

枚举值
Decorative 

新奇字体。 例如 Old English。

DontCare 

使用默认字体。

Modern 

具有固定笔划宽度的字体 (带衬线或无衬线) 的空白字体。 Monospace 字体通常是新式字体。 例如,Pica、Elite 和 CourierNew。

Roman 

笔划宽度可变的字体 (比例) 和衬线。 例如 MS Serif。

Script 

设计为类似于手写的字体。 例如 Script 和 Cursive。

Swiss 

笔划宽度可变的字体 (成比例) 且不带衬线。 例如 MS Sans Serif。

◆ FontOutPrecision

输出质量

枚举值
Character 

未使用。

Default 

指定默认字体映射器行为。

Device 

当系统包含多个同名字体时,指示字体映射器选择设备字体。

Outline 

此值指示字体映射器从 TrueType 和其他基于大纲的字体中进行选择。

PostScriptOnly 

指示字体映射器仅从 PostScript 字体中进行选择。 如果系统中没有安装 PostScript 字体,字体映射器将返回到默认行为。

Raster 

当系统包含多个同名字体时,指示字体映射器选择光栅字体。

String 

字体映射器不使用此值,但在枚举光栅字体时会返回此值。

Stroke 

字体映射器不使用此值,但在枚举 TrueType、其他基于轮廓的字体和矢量字体时返回此值。

TrueTypeOnly 

指示字体映射器仅从 TrueType 字体中进行选择。 如果系统中没有安装 TrueType 字体,字体映射器将返回到默认行为。

TrueType 

当系统包含多个同名字体时,指示字体映射器选择 TrueType 字体。

◆ FontPitch

字体的间距

枚举值
Default 

默认间距(由字体映射器选择)

Fixed 

等宽间距(所有字符宽度相同,如 Courier New)

Variable 

可变间距(字符宽度随字形变化,如 Arial)

◆ FontQuality

输出质量

枚举值
AntiAliased 

如果字体支持该字体,并且字体大小不是太小或太大,则字体始终为抗锯齿。

ClearType 

如果设置,则尽可能使用 ClearType 抗锯齿方法呈现文本。

Default 

字体的外观并不重要。

Draft 

字体的外观不如使用PROOF_QUALITY时重要。 对于 GDI 光栅字体,会启用缩放,这意味着可以使用更多字号,但质量可能较低。 如有必要,将合成粗体、斜体、下划线和删除线字体。

NoAntiAliased 

字体永远不会抗锯齿。

Proof 

字体的字符质量比逻辑字体属性的精确匹配更重要。 对于 GDI 光栅字体,将禁用缩放,并选择大小最接近的字体。 虽然在使用PROOF_QUALITY时可能无法精确映射所选字号,但字体质量较高,外观不会失真。 如有必要,将合成粗体、斜体、下划线和删除线字体。

◆ FontWeight

字体的粗细

枚举值
DontCare 

不指定(由字体映射器选择默认粗细)

Thin 

极细

ExtraLight 

特细,同 UltraLight

UltraLight 

超细,同 ExtraLight

Light 

Normal 

正常(常规粗细),同 Regular

Regular 

常规,同 Normal

Medium 

中等

SemiBold 

半粗,同 DemiBold

DemiBold 

半粗,同 SemiBold

Bold 

粗体

ExtraBold 

特粗,同 UltraBold

UltraBold 

超粗,同 ExtraBold

Heavy 

重磅,同 Black

Black 

黑体,同 Heavy

◆ GridRCType

GridRow和GridColumn的类型

枚举值
FixSize 

固定大小

AutoSize 

自动大小

FillRemain 

填充剩余空间

◆ HitTestResult

NcHitTest(WM_NCHITTEST)的返回值

枚举值
HitBorder 

在没有大小边界的窗口边框中。

HitBottom 

在可调整大小的窗口的下水平边框中(用户可以单击鼠标以垂直调整窗口大小)。

HitBottomLeft 

在可调整大小的窗口的边框左下角(用户可以单击鼠标以对角线调整窗口大小)。

HitBottomRight 

在可调整大小的窗口的边框右下角(用户可以单击鼠标以对角线调整窗口大小)。

HitCaption 

在标题栏中。

HitClient 

在客户端区中。

HitClose 

在关闭按钮中。

HitError 

在屏幕背景上或窗口之间的分割线上(与 HTNOWHERE 相同,只是 DefWindowProc 函数会生成系统蜂鸣音以指示错误)。

HitGrowBox 

在大小框中(与 HTSIZE 相同)。

HitHelp 

在帮助按钮中。

HitHScroll 

在水平滚动条中。

HitLeft 

在可调整大小的窗口的左边框中(用户可以单击鼠标以水平调整窗口大小)。

HitMenu 

在菜单中。

HitMaxButton 

在最大化按钮中。

HitMinButton 

在最小化按钮中。

HitNoWhere 

在屏幕背景上,或在窗口之间的分隔线上。

HitReduce 

在最小化按钮中。

HitRight 

在可调整大小的窗口的右左边框中(用户可以单击鼠标以水平调整窗口大小)。

HitSize 

在大小框中(与 HTGROWBOX 相同)。

HitSysMenu 

在窗口菜单或子窗口的关闭按钮中。

HitTop 

在窗口的上水平边框中。

HitTopLeft 

在窗口边框的左上角。

HitTopRight 

在窗口边框的右上角。

HitTransparent 

在同一线程当前由另一个窗口覆盖的窗口中(消息将发送到同一线程中的基础窗口,直到其中一个窗口返回不是 HTTRANSPARENT 的代码)。

HitVScroll 

在垂直滚动条中。

HitZoom 

在最大化按钮中。

◆ HorizontalAlignment

水平对齐方式

枚举值
Center 

中心

Stretch 

拉伸

Left 

左对齐

Right 

右对齐

◆ HotKeyCombination

热键组合

枚举值
Alt 

ALT

Ctrl 

CTRL

CtrlAlt 

CTRL+ALT

None 

Unmodified keys

Shift 

SHIFT

ShiftAlt 

SHIFT+ALT

ShiftCtrl 

SHIFT+CTRL

ShiftCtrlAlt 

SHIFT+CTRL+ALT

◆ HotKeyModifier

表示热键框控件中的辅助按键,可以是一个或多个按键

枚举值
None 

无按键

Shift 

Alt键

Ctrl 

Ctrl键

Alt 

扩展键

Ext 

Shift键

◆ KnownColors

已知的颜色

枚举值
ActiveBorder 

活动边框颜色

ActiveCaption 

活动标题栏颜色

ActiveCaptionText 

活动标题栏文本颜色

AppWorkspace 

应用程序工作区颜色

Control 

控件颜色

ControlDark 

控件深色颜色

ControlDarkDark 

控件深深色颜色

ControlLight 

控件浅色颜色

ControlLightLight 

控件浅浅色颜色

ControlText 

控件文本颜色

Desktop 

桌面颜色

GrayText 

灰色文本颜色

Highlight 

高亮颜色

HighlightText 

高亮文本颜色

HotTrack 

热跟踪颜色

InactiveBorder 

非活动边框颜色

InactiveCaption 

非活动标题栏颜色

InactiveCaptionText 

非活动标题栏文本颜色

Info 

信息颜色

InfoText 

信息文本颜色

Menu 

菜单颜色

MenuText 

菜单文本颜色

ScrollBar 

滚动条颜色

Window 

窗口颜色

WindowFrame 

窗口框架颜色

WindowText 

窗口文本颜色

Transparent 

透明色

AliceBlue 

爱丽丝蓝色

AntiqueWhite 

古董白色

Aqua 

青色

Aquamarine 

碧绿色

Azure 

天蓝色

Beige 

米色

Bisque 

橘黄色

Black 

黑色

BlanchedAlmond 

白杏色

Blue 

蓝色

BlueViolet 

蓝紫色

Brown 

棕色

BurlyWood 

硬木色

CadetBlue 

军装蓝色

Chartreuse 

黄绿色

Chocolate 

巧克力色

Coral 

珊瑚色

CornflowerBlue 

矢车菊蓝色

Cornsilk 

米绸色

Crimson 

绯红色

Cyan 

青色

DarkBlue 

深蓝色

DarkCyan 

深青色

DarkGoldenrod 

深金黄色

DarkGray 

深灰色

DarkGreen 

深绿色

DarkKhaki 

深卡其色

DarkMagenta 

深洋红色

DarkOliveGreen 

深橄榄绿色

DarkOrange 

深橙色

DarkOrchid 

深兰花色

DarkRed 

深红色

DarkSalmon 

深鲑鱼色

DarkSeaGreen 

深海绿色

DarkSlateBlue 

深青蓝色

DarkSlateGray 

深青灰色

DarkTurquoise 

深青色

DarkViolet 

深紫罗兰色

DeepPink 

深粉色

DeepSkyBlue 

深天蓝色

DimGray 

暗灰色

DodgerBlue 

道奇蓝色

Firebrick 

火砖色

FloralWhite 

花白色

ForestGreen 

森林绿色

Fuchsia 

紫红色

Gainsboro 

盖茨伯勒色

GhostWhite 

幽灵白色

Gold 

金色

Goldenrod 

金菊黄色

Gray 

灰色

Green 

绿色

GreenYellow 

绿黄色

Honeydew 

蜜色

HotPink 

亮粉红色

IndianRed 

印度红色

Indigo 

靛青色

Ivory 

象牙色

Khaki 

卡其色

Lavender 

熏衣草色

LavenderBlush 

淡紫红色

LawnGreen 

草绿色

LemonChiffon 

柠檬绸色

LightBlue 

淡蓝色

LightCoral 

淡珊瑚色

LightCyan 

淡青色

LightGoldenrodYellow 

浅金菊黄色

LightGray 

浅灰色

LightGreen 

浅绿色

LightPink 

浅粉色

LightSalmon 

浅鲑鱼色

LightSeaGreen 

浅海绿色

LightSkyBlue 

浅天蓝色

LightSlateGray 

浅青灰色

LightSteelBlue 

浅钢蓝色

LightYellow 

浅黄色

Lime 

酸橙色

LimeGreen 

柠檬绿色

Linen 

亚麻色

Magenta 

洋红色

Maroon 

栗色

MediumAquamarine 

中碧绿色

MediumBlue 

中蓝色

MediumOrchid 

中兰花紫色

MediumPurple 

中紫色

MediumSeaGreen 

中海绿色

MediumSlateBlue 

中青蓝色

MediumSpringGreen 

中春绿色

MediumTurquoise 

中青色

MediumVioletRed 

中紫罗兰色

MidnightBlue 

午夜蓝色

MintCream 

薄荷色

MistyRose 

浅玫瑰色

Moccasin 

鹿皮色

NavajoWhite 

纳瓦白色

Navy 

海军蓝色

OldLace 

老花色

Olive 

橄榄色

OliveDrab 

橄榄褐色

Orange 

橙色

OrangeRed 

橙红色

Orchid 

兰花紫色

PaleGoldenrod 

苍麒麟色

PaleGreen 

苍绿色

PaleTurquoise 

苍宝石绿色

PaleVioletRed 

苍紫罗兰红色

PapayaWhip 

番木瓜色

PeachPuff 

桃肉色

Peru 

秘鲁色

Pink 

粉红色

Plum 

李紫色

PowderBlue 

粉蓝色

Purple 

紫色

Red 

红色

RosyBrown 

玫瑰棕色

RoyalBlue 

皇家蓝色

SaddleBrown 

马鞍棕色

Salmon 

鲑鱼色

SandyBrown 

沙棕色

SeaGreen 

海绿色

SeaShell 

海贝色

Sienna 

黄土赭色

Silver 

银色

SkyBlue 

天蓝色

SlateBlue 

青蓝色

SlateGray 

青灰色

Snow 

雪白色

SpringGreen 

春绿色

SteelBlue 

钢蓝色

Tan 

茶色

Teal 

鸭翅绿色

Thistle 

蓟色

Tomato 

番茄色

Turquoise 

青绿色

Violet 

紫罗兰色

Wheat 

小麦色

White 

白色

WhiteSmoke 

白烟色

Yellow 

黄色

YellowGreen 

黄绿色

ButtonFace 

按钮表面色

ButtonHighlight 

按钮高亮色

ButtonShadow 

按钮阴影色

GradientActiveCaption 

渐变激活标题栏色

GradientInactiveCaption 

渐变非激活标题栏色

MenuBar 

菜单栏色

MenuHighlight 

菜单高亮色

RebeccaPurple 

紫罗兰色

◆ LayoutUpdateCondition

通知布局更新的条件

枚举值
SizeChanged 

尺寸改变时更新布局

PositionChanged 

位置改变时更新布局

ChildAdded 

添加子元素时更新布局

ChildRemoved 

移除子元素时更新布局

TextChanged 

文本改变时更新布局

FontChanged 

字体改变时更新布局

MeasureInvalidated 

框架内部使用,表示布局已失效

注解
该标记指示了Measure函数的结果已失效,需要重新调用Measure函数来更新尺寸
Supressed 

框架内部使用,表示不需要更新布局

注解
一旦设置了该标记,InvalidateMeasure函数将不会更新状态和触发布局更新
该标记用于抑制布局更新,可能会频繁被设置/取消,一般不建议用户直接使用

◆ ListViewColumnAlignment

列表视图的列对齐方式

枚举值
Left 

左对齐

Right 

右对齐

Center 

居中

◆ ListViewImageList

列表视图的图像列表枚举

枚举值
Normal 

包含大图标的图像列表

Small 

包含小图标的图像列表

State 

包含状态图像的图像列表

GroupHeader 

组标头的图像列表

◆ MouseKey

鼠标事件时用于判断按键状态

枚举值
Ctrl 

The CTRL key is down.

MouseLeft 

The left mouse button is down.

MouseMiddle 

The middle mouse button is down.

MouseRight 

The right mouse button is down.

Shift 

The SHIFT key is down.

MouseX1 

The first X button is down.

MouseX2 

The second X button is down.

◆ MsgBoxButton

消息框按钮类型

枚举值
AbortRetryIgnore 

“中止”、“重试”、“忽略” 三按钮

CancelRetryContinue 

“取消”、“重试”、“继续” 三按钮

Ok 

“确定” 单按钮(默认)

OkCancel 

“确定”、“取消” 双按钮

RetryCancel 

“重试”、“取消” 双按钮

YesNo 

“是”、“否” 双按钮

YesNoCancel 

“是”、“否”、“取消” 三按钮

◆ MsgBoxIcon

消息框图标类型

枚举值
None 

不显示图标

Warning 

警告图标(黄色三角形)

Information 

信息图标(蓝色字母 i)

Question 

问号图标(微软已不建议使用,推荐改用 Warning)

Error 

错误图标(红色叉号)

◆ MsgBoxResult

消息框结果

枚举值
Abort 

用户点击了 “中止” 按钮

Cancel 

用户点击了 “取消” 按钮,或按 Esc / 关闭按钮

Continue 

用户点击了 “继续” 按钮

Ignore 

用户点击了 “忽略” 按钮

No 

用户点击了 “否” 按钮

Ok 

用户点击了 “确定” 按钮

Retry 

用户点击了 “重试” 按钮

TryAgain 

用户点击了 “重试” 按钮(仅 CancelRetryContinue 组合下产生)

Yes 

用户点击了 “是” 按钮

◆ Orientation

排列方式

枚举值
Horizontal 

水平排列

Vertical 

垂直排列

◆ ProgressBarState

进度条状态

枚举值
Normal 

正常(PBST_NORMAL)

Error 

错误(PBST_ERROR)

Paused 

暂停(PBST_PAUSED)

◆ RoutedEventType

路由事件类型枚举

枚举值
RoutedEventType_Null 

无效的路由事件类型,表示未指定事件类型或事件类型无效

RoutedEventType_User 

从该值开始到RoutedEventType_UserEnd结束表示用户可以自定义路由事件的值范围

RoutedEventType_UserEnd 

用户自定义路由事件的值的最大值

UIElement_SizeChanged 

尺寸改变,参数类型为sw::SizeChangedEventArgs

UIElement_PositionChanged 

位置改变,参数类型为sw::PositionChangedEventArgs

UIElement_TextChanged 

Text属性发生变化,参数类型为sw::RoutedEventArgs

UIElement_GotFocus 

获取到焦点,参数类型为sw::RoutedEventArgs

UIElement_LostFocus 

失去焦点,参数类型为sw::RoutedEventArgs

UIElement_GotChar 

输入字符,参数类型为sw::GotCharEventArgs

UIElement_KeyDown 

键盘按键按下,参数类型为sw::KeyDownEventArgs

UIElement_KeyUp 

键盘按键抬起,参数类型为sw::KeyUpEventArgs

UIElement_MouseMove 

鼠标移动,参数类型为sw::MouseMoveEventArgs

UIElement_MouseLeave 

鼠标离开,参数类型为sw::RoutedEventArgs

UIElement_MouseWheel 

鼠标滚轮滚动,参数类型为sw::MouseWheelEventArgs

UIElement_MouseButtonDown 

鼠标按键按下,参数类型为sw::MouseButtonDownEventArgs

UIElement_MouseButtonUp 

鼠标按键抬起,参数类型为sw::MouseButtonUpEventArgs

UIElement_ShowContextMenu 

要显示用户自定义的上下文菜单前触发该事件,参数类型为sw::ShowContextMenuEventArgs

UIElement_DropFiles 

接收到文件拖放,参数类型为sw::DropFilesEventArgs

Window_Closing 

窗口正在关闭,参数类型为sw::WindowClosingEventArgs

Window_Closed 

窗口已关闭,参数类型为sw::RoutedEventArgs

Window_Actived 

窗口成为前台窗口,参数类型为sw::RoutedEventArgs

Window_Inactived 

窗口成为后台窗口,参数类型为sw::RoutedEventArgs

ButtonBase_Clicked 

按钮被单击,参数类型为sw::RoutedEventArgs

ButtonBase_DoubleClicked 

按钮被双击,参数类型为sw::RoutedEventArgs

SplitButton_DropDown 

分割按钮的下拉箭头被单击,参数类型为sw::SplitButtonDropDownEventArgs

ItemsControl_SelectionChanged 

列表视图/列表框/组合框的选中项改变,参数类型为sw::RoutedEventArgs

ListView_CheckStateChanged 

列表视图某个复选框的选中状态改变,参数类型为sw::ListViewCheckStateChangedEventArgs

ListView_HeaderClicked 

鼠标左键单击列表视图的列标题,参数类型为sw::ListViewHeaderClickedEventArgs

ListView_HeaderDoubleClicked 

鼠标左键双击列表视图的列标题,参数类型为sw::ListViewHeaderDoubleClickedEventArgs

ListView_ItemClicked 

鼠标左键单击列表视图某个项,参数类型为sw::ListViewItemClickedEventArgs

ListView_ItemDoubleClicked 

鼠标左键单击列表视图某个项,参数类型为sw::ListViewItemDoubleClickedEventArgs

ListView_EndEdit 

编辑状态结束,参数类型为sw::ListViewEndEditEventArgs

Slider_ValueChanged 

滑块的值被改变,参数类型为sw::RoutedEventArgs

Slider_EndTrack 

滑块被释放,参数类型为sw::RoutedEventArgs

Layer_Scrolling 

窗口/面板滚动条滚动,参数类型为sw::ScrollingEventArgs

TabControl_SelectedIndexChanged 

SelectedIndex属性被改变,参数类型为sw::RoutedEventArgs

DateTimePicker_TimeChanged 

DateTimePicker控件的时间改变,参数类型为sw::DateTimePickerTimeChangedEventArgs

MonthCalendar_TimeChanged 

月历控件的时间改变,参数类型为sw::MonthCalendarTimeChangedEventArgs

IPAddressControl_AddressChanged 

IP地址框地址被改变,参数类型为sw::RoutedEventArgs

SysLink_Clicked 

SysLink控件链接被单击,参数类型为sw::SysLinkClickedEventArgs

HotKeyControl_ValueChanged 

热键框的值被改变,参数类型为sw::HotKeyValueChangedEventArgs

TreeView_ItemExpanding 

树视图节点正在展开或折叠,参数类型为sw::TreeViewItemExpandingEventArgs

TreeView_ItemExpanded 

树视图节点已展开或折叠,参数类型为sw::TreeViewItemExpandedEventArgs

TreeView_CheckStateChanged 

树视图节点的复选框选中状态被改变,参数类型为sw::TreeViewCheckStateChangedEventArgs

◆ ScrollEvent

滚动条事件

枚举值
LineUp 

Scrolls one line up.

LineLeft 

Scrolls left by one unit.

LineDown 

Scrolls one line down.

LineRight 

Scrolls right by one unit.

PageUp 

Scrolls one page up.

PageLeft 

Scrolls left by the width of the window.

PageDown 

Scrolls one page down.

PageRight 

Scrolls right by the width of the window.

ThumbPosition 

The user has dragged the scroll box (thumb) and released the mouse button. The HIWORD indicates the position of the scroll box at the end of the drag operation.

ThubmTrack 

The user is dragging the scroll box. This message is sent repeatedly until the user releases the mouse button. The HIWORD indicates the position that the scroll box has been dragged to.

Top 

Scrolls to the upper left.

Left 

Scrolls to the upper left.

Bottom 

Scrolls to the lower right.

Right 

Scrolls to the lower right.

EndScroll 

Ends scroll.

◆ ScrollOrientation

滚动条方向

枚举值
Horizontal 

水平滚动条

Vertical 

垂直滚动条

◆ StandardCursor

系统标准鼠标样式

https://learn.microsoft.com/en-us/windows/win32/menurc/about-cursors

枚举值
Arrow 

Normal select

IBeam 

Text select

Wait 

Busy

Cross 

Precision select

UpArrow 

Alternate select

Handwriting 

Handwriting

SizeNWSE 

Diagonal resize 1

SizeNESW 

Diagonal resize 2

SizeWE 

Horizontal resize

SizeNS 

Vertical resize

SizeAll 

Move

No 

Unavailable

Hand 

Link select

AppStarting 

Working in background

Help 

Help select

Pin 

Location select

Person 

Person select

◆ StandardIcon

系统标准图标样式

https://learn.microsoft.com/en-us/windows/win32/menurc/about-icons

枚举值
Application 

Default application icon

Error 

Error icon

Question 

Question mark icon

Warning 

Warning icon

Information 

Information icon

WinLogo 

Windows logo icon

Shield 

Security shield icon

◆ TabAlignment

TabControl标签的位置

枚举值
Top 

顶部

Bottom 

底部

Left 

左边

◆ TextTrimming

文本过长时末尾的处理方式

枚举值
None 

不处理

EndEllipsis 

按字符截断并显示“...”

WordEllipsis 

按单词截断并显示“...”

◆ ToolTipIcon

提示信息图标类型

枚举值
None 

无图标

Info 

信息图标

Warning 

警告图标

Error 

错误图标

LargeInfo 

大错误图标

LargeWarning 

大错误图标

LargeError 

大错误图标

◆ TreeViewImageList

树视图的图像列表枚举

枚举值
Normal 

普通图像列表

State 

状态映像列表

◆ VerticalAlignment

垂直对齐方式

枚举值
Center 

中心

Stretch 

拉伸

Top 

顶部对齐

Bottom 

底部对齐

◆ VirtualKey

虚拟按键

枚举值
MouseLeft 

Left mouse button

MouseRight 

Right mouse button

Cancel 

Control-break processing

MouseMiddle 

Middle mouse button (three-button mouse)

MouseX1 

X1 mouse button

MouseX2 

X2 mouse button

Backspace 

BACKSPACE key

Tab 

TAB key

Clear 

CLEAR key

Enter 

ENTER key

Shift 

SHIFT key

Ctrl 

CTRL key

Alt 

ALT key

Pause 

PAUSE key

CapsLock 

CAPS LOCK key

Kana 

IME Kana mode

Hanguel 

IME Hanguel mode (maintained for compatibility; use VK_HANGUL)

Hangul 

IME Hangul mode

IME_On 

IME On

Junja 

IME Junja mode

Final 

IME final mode

Hanja 

IME Hanja mode

KANJI 

IME Kanji mode

IME_Off 

IME Off

Esc 

ESC key

Convert 

IME convert

Nonconvert 

IME nonconvert

Accept 

IME accept

ModeChange 

IME mode change request

Space 

SPACEBAR

PageUp 

PAGE UP key

PageDown 

PAGE DOWN key

End 

END key

Home 

HOME key

Left 

LEFT ARROW key

Up 

UP ARROW key

Right 

RIGHT ARROW key

Down 

DOWN ARROW key

Select 

SELECT key

Print 

PRINT key

Execute 

EXECUTE key

Snapshot 

PRINT SCREEN key

Insert 

INS key

Delete 

DEL key

Help 

HELP key

Zero 

0 key

One 

1 key

Two 

2 key

Three 

3 key

Four 

4 key

Five 

5 key

Six 

6 key

Seven 

7 key

Eight 

8 key

Nine 

9 key

A key

B key

C key

D key

E key

F key

G key

H key

I key

J key

K key

L key

M key

N key

O key

P key

Q key

R key

S key

T key

U key

V key

W key

X key

Y key

Z key

LeftWindows 

Left Windows key (Natural keyboard)

RightWindows 

Right Windows key (Natural keyboard)

Applications 

Applications key (Natural keyboard)

Sleep 

Computer Sleep key

NumPad0 

Numeric keypad 0 key

NumPad1 

Numeric keypad 1 key

NumPad2 

Numeric keypad 2 key

NumPad3 

Numeric keypad 3 key

NumPad4 

Numeric keypad 4 key

NumPad5 

Numeric keypad 5 key

NumPad6 

Numeric keypad 6 key

NumPad7 

Numeric keypad 7 key

NumPad8 

Numeric keypad 8 key

NumPad9 

Numeric keypad 9 key

Multipy 

Multiply key

Add 

Add key

Separator 

Separator key

Subtract 

Subtract key

Decimal 

Decimal key

Divide 

Divide key

F1 

F1 key

F2 

F2 key

F3 

F3 key

F4 

F4 key

F5 

F5 key

F6 

F6 key

F7 

F7 key

F8 

F8 key

F9 

F9 key

F10 

F10 key

F11 

F11 key

F12 

F12 key

F13 

F13 key

F14 

F14 key

F15 

F15 key

F16 

F16 key

F17 

F17 key

F18 

F18 key

F19 

F19 key

F20 

F20 key

F21 

F21 key

F22 

F22 key

F23 

F23 key

F24 

F24 key

NumLock 

NUM LOCK key

ScrollLock 

SCROLL LOCK key

LeftShift 

Left SHIFT key

RightShift 

Right SHIFT key

LeftCtrl 

Left CONTROL key

RightCtrl 

Right CONTROL key

LeftAlt 

Left ALT key

RightAlt 

Right ALT key

BrowserBack 

Browser Back key

BrowserForward 

Browser Forward key

BrowserRefresh 

Browser Refresh key

BrowserStop 

Browser Stop key

BrowserSearch 

Browser Search key

BrowserFavorites 

Browser Favorites key

BrowserHome 

Browser Start and Home key

VolumeMute 

Volume Mute key

VolumeDown 

Volume Down key

VolumeUp 

Volume Up key

MediaNextTrack 

Next Track key

MediaPreviousTrack 

Previous Track key

MediaStop 

Stop Media key

MediaPlayPause 

Play/Pause Media key

LaunchMail 

Start Mail key

LaunchMediaSelect 

Select Media key

LaunchApplication1 

Start Application 1 key

LaunchApplication2 

Start Application 2 key

OEM_1 

Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ';:' key

OEM_Plus 

For any country/region, the '+' key

OEM_Comma 

For any country/region, the ',' key

OEM_Minus 

For any country/region, the '-' key

OEM_Period 

For any country/region, the '.' key

OEM_2 

Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '/?' key

OEM_3 

Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '‘~’ key

OEM_4 

Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '[{' key

OEM_5 

Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '|' key

OEM_6 

Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ']}' key

OEM_7 

Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the 'single-quote/double-quote' key

OEM_8 

Used for miscellaneous characters; it can vary by keyboard.

OEM_102 

The <> keys on the US standard keyboard, or the \| key on the non-US 102-key keyboard

ProcessKey 

IME PROCESS key

Packet 

Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP

Attn 

Attn key

CrSel 

CrSel key

ExSel 

ExSel key

EraseEOF 

Erase EOF key

Play 

Play key

Zoom 

Zoom key

NONAME 

Reserved

PA1 

PA1 key

OEM_Clear 

Clear key

◆ WindowStartupLocation

窗口启动位置

枚举值
Manual 

使用系统默认或手动设置

CenterScreen 

屏幕中心

CenterOwner 

所有者窗口中心

◆ WindowState

窗口状态

枚举值
Normal 

普通窗口

Minimized 

最小化窗口

Maximized 

最大化窗口

◆ WndMsg

包含SimpleWindow用到的一些窗口消息

枚举值
WM_SimpleWindowBegin 

SimpleWindow所用消息的起始位置

WM_UpdateLayout 

控件布局发生变化时控件所在顶级窗口将收到该消息,wParam和lParam均未使用

WM_InvokeAction 

在窗口线程上执行指定委托,lParam为指向sw::Action<>的指针,wParam表示是否对委托指针执行delete

WM_PreSetParent 

在WndBase::SetParent函数中设置父窗口之前发送该消息,wParam为新的父窗口句柄,lParam未使用

WM_SimpleWindowEnd 

SimpleWindow所用消息的结束位置

函数说明

◆ operator!=() [1/2]

template<typename TRet , typename... Args>
bool sw::operator!= ( std::nullptr_t  ,
const Delegate< TRet(Args...)> &  d 
)
inlinenoexcept

比较委托和nullptr

注解
如果委托不为空则返回true,否则返回false

◆ operator!=() [2/2]

template<typename D , typename T , typename U >
auto sw::operator!= ( T &&  left,
const PropertyBase< U, D > &  right 
) -> typename std::enable_if<!_IsProperty<T>::value && _EqOperationHelper<T, U>::value, typename _EqOperationHelper<T, U>::type>::type

不等于运算

注解
避免与c++20自动生成的!=冲突,通过==取反实现

◆ operator==()

template<typename TRet , typename... Args>
bool sw::operator== ( std::nullptr_t  ,
const Delegate< TRet(Args...)> &  d 
)
inlinenoexcept

比较委托和nullptr

注解
如果委托为空则返回true,否则返回false