# EzUI **Repository Path**: keyestore/EzUI ## Basic Information - **Project Name**: EzUI - **Description**: win32 desktop GUI framework win32 桌面 GUI 框架 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-27 - **Last Updated**: 2025-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README WIN32 desktop application UI framework (2d graphical library:direct2d,后期可能会采用其他跨平台的2d图形库对整个UI框架进行跨平台) 编译方式 1.下载源码 使用git命令 git clone https://github.com/NewYoungCode/EzUI.git 2.下载并且安装cmkae https://cmake.org/download/ 安装 Windows x64 Installer: cmake-3.26.3-windows-x86_64.msi 3.编译运行 请将这个文件 "kuGou运行依赖(需要将此解压到exe所在位置).zip" 解压到编译完成的exe所在目录(运行资源以及动态链接库) 简介: 原理:基于windows消息机制,所有控件都是逻辑控件 处理鼠标键盘对控件的命中消息并进行下发 响应WM_PAINT消息进行重绘 分层窗口则采用一个线程进行检测无效区域并进行重绘 高分辨率适配 使用direct2d进行高性能绘图 可灵活使用控件组成大部分想要的效果(combox,datagridview,tree)将轻易实现 css普通进行修饰控件外观 模仿前端的继承样式 hover,active,checked伪样式 id选择器,类选择器,选择器可多选 弹性布局 自动宽高 布局代码可以像写web前端一样轻松高DPI的适配 GIF显示 窗口类 Window //经典带边框带系统菜单WIN32窗口样式 BorderlessWindow :public Window //继承于Window 无边框 带阴影 LayeredWindow :public BorderlessWindow //分层窗口 继承于Window 无边框 带阴影 窗口透明异形 窗口大小发生改变重绘 (自定义绘制机制) PopupWindow :public LayeredWindow //继承于LayeredWindow 特点(弹出式窗口 窗口失去焦点将会自动关闭,可用于做弹出式菜单) 注:所有窗口调用Show()函数之前 所有窗口必须设置布局 使用 Window::SetLayout()进行设置布局 常用控件(类所有控件都继承于"Control"): Label(带文字的控件),Button(按钮),TextBox(文字输入框),HLayout(水平布局),VLayout(垂直布局),HList(水平排列),VList(垂直排列),TileList(瓦片布局),TabLayout(视图切换),PictureBox(可用于显示GIF),CheckBox(复选框),RadioButton(单选框) Tips: Debug模式运行程序按下F11可查看当前布局信息 每个控件将高亮显示边框 学习&技术支持 框架学习:https://space.bilibili.com/240269358/video QQ:718987717 //qq群:758485934 //email:19980103ly@gmail.com //微信: