Skip to content

QingKong-s/WinEzCtrlKit

Repository files navigation

WinEzCtrlKit

English

一个Win32常用功能集合库。

  • 使用C++20
  • 维护所有窗口的列表,提供了诸多自动化设施完成高DPI感知和深/浅色模式切换等
  • 提供线性、流式、表格、帧四种布局
  • CWindow::CreateCLayoutBase之上提供了一个层,允许以声明式语法创建控件
  • 通过Observable<>DdxBind前缀函数提供简单双向数据绑定支持
    Observable<CStringW> obString{};
    DdxBindEdit(m_Edit, *this/* parent */, obString);
  • OnMessage代替窗口过程,除此以外,提供以下机制调整消息处理
    • 消息循环过滤:为IsDialogMessageW、翻译加速器、按键过滤等提供支持
    • 通知自处理:提供CWindow::OnNotifyMessage接收窗口自身产生的所有通知
    • 窗口消息过滤:CWindow::GetEventChain返回一个事件链,该对象保存一系列回调,产生消息时,在OnMessage之前按顺序调用链上的每个回调,回调可拦截某消息阻止其向后传递
  • 提供大部分标准控件的完全封装,并进行必要的改装以适配暗色模式
  • 不分拣任何特定消息(如按钮被点击、窗口大小改变),保留传统消息处理过程,大部分操作都使用原始WinApi进行

第三方代码

Detours MIT License

phnt MIT License

zlib zlib License

yyjson MIT License

win32-custom-menubar-aero-theme MIT License

pugixml MIT License

uchardet MPL V1.1

skia BSD-3-Clause License

About

A Win32 common utilities library that provides full encapsulation of most standard controls, dark mode support, global window management, declarative UI, and simple two-way data binding.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors